Module Error_check.Step


module Step: sig .. end


type ('a, 'b, 'c) t = {
   initial_threshold : 'a;
   mutable threshold : 'a;
   loosen : 'b -> threshold:'a -> 'a;
   assertion : 'b -> threshold:'a -> bool;
   fail_alert : 'b -> 'c;
   success_alert : 'b -> 'c;
}
val create : threshold:'a ->
loosen:('b -> threshold:'a -> 'a) ->
assertion:('b -> threshold:'a -> bool) ->
fail_alert:('b -> 'c) ->
success_alert:('b -> 'c) -> ('a, 'b, 'c) t
val check : ('a, 'b, 'c) t -> 'b -> 'c option
val state : ('a, 'b, 'c) t -> bool
val sexp_of_t : 'a -> 'b -> 'c -> ('d, 'e, 'f) t -> Sexplib.Sexp.t