sig
  type ('a, 'b) t = {
    assertion : '-> bool;
    fail_alert : '-> 'b;
    success_alert : '-> 'b;
    mutable success_last : bool;
  }
  val create :
    assertion:('-> bool) ->
    fail_alert:('-> 'b) ->
    success_alert:('-> 'b) -> ('a, 'b) Error_check.Toggle.t
  val check : ('a, 'b) Error_check.Toggle.t -> '-> 'b option
  val state : ('a, 'b) Error_check.Toggle.t -> bool
  val sexp_of_t : '-> '-> ('c, 'd) Error_check.Toggle.t -> Sexplib.Sexp.t
end