let rec set_of = function
| Value v -> F.singleton (M.logic_of_value v)
| Data d -> F.singleton d
| Loc l -> F.singleton (M.term_of_loc l)
| List ds -> F.unions (List.map set_of ds)
| Interval i -> F.interval i
| Set s -> s
| Range _ -> Wp_parameters.not_yet_implemented "set of zone"