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