sig
val check_invariant : bool ref
val show_messages : bool ref
val debug :
('a -> unit) ->
Core.Std.String.t ->
Core.Std.String.t ->
'a Core.Std.List.t ->
'b ->
('b -> Sexplib.Sexp.t) -> ('c -> Sexplib.Sexp.t) -> (unit -> 'c) -> 'c
end