sig
  type ('a, -'b, +'c) t
  val sexp_of_t :
    'a -> 'b -> 'c -> ('d, 'e, 'f) Error_check.Step.t -> Std_internal.Sexp.t
  val create :
    threshold:'a ->
    adjust:('b -> threshold:'a -> 'a) ->
    assertion:('b -> threshold:'a -> bool) ->
    fail_alert:('b -> 'c) ->
    success_alert:('b -> 'c) -> ('a, 'b, 'c) Error_check.Step.t
  val check : ('a, 'b, 'c) Error_check.Step.t -> 'b -> 'c option
  val state : ('a, 'b, 'c) Error_check.Step.t -> bool
end