let rec pp fmt u =
  Pretty.map Term.pp (Pretty.set Term.pp) fmt (to_list u)

and to_list u =
  Map.fold (fun x ys acc -> (x, Set.elements ys) :: acc) u []