let zone base range =
match base with
| Cvar(x,p) -> { empty with cvars = Vmap.add x (p,[range]) Vmap.empty }
| Root(k,p) -> { empty with roots = Imap.add k (p,[range]) Imap.empty }
| Base p -> { empty with bases = [p,range] }