let rec assigned_of_data te acc d =
match d with
| (Data _|Value _|Loc _) ->
F.Aloc(te,loc_of_data te d)::acc
| Range(te,loc,range) ->
F.Arange(te,loc,range)::acc
| List ds -> List.fold_left (assigned_of_data te) acc ds
| _ -> Wp_parameters.not_yet_implemented "arbitrary zone"