let data_of_term x = match x with
  | Fol.Tvar v -> data_of_lvar v (* useful for logic variables in data *)
  | Fol.Tdata d -> d
  | _ -> unsupported "location of abstract term: %a" pp_term x