let rec pp fmt s =
match !Mode.value with
| Mode.Internals ->
(let v = Partition.v_of s.p in
if not(V.is_empty v) then
begin
Format.fprintf fmt "\nV: ";
V.pp fmt v
end);
(let d = Partition.d_of s.p in
if not(D.is_empty d) then
begin
Format.fprintf fmt "\nD: ";
D.pp fmt d
end);
if not(Combine.E.is_empty s.eqs) then
begin
Format.fprintf fmt "\n";
Combine.E.pp fmt s.eqs
end
| Mode.Context ->
Pretty.set Atom.pp fmt (List.rev s.ctxt)
| Mode.None ->
()