sig
  val eprints : string -> '-> ('-> Sexplib.Sexp.t) -> unit
  val eprint : string -> unit
  module Make :
    functor (M : sig  end->
      sig
        val check_invariant : bool Pervasives.ref
        val show_messages : bool Pervasives.ref
        val debug :
          'Invariant.t ->
          module_name:string ->
          string ->
          't list ->
          'args ->
          ('args -> Sexplib.Sexp.t) ->
          ('result -> Sexplib.Sexp.t) -> (unit -> 'result) -> 'result
      end
end