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