Parameter Make.M

type 'a t
val return : 'a -> 'a t
val bind' : on_error:(unit -> unit) -> 'a t -> ('a -> 'b t) -> 'b t

Monadic bind, with an extra ~on_error argument, which runs in the error case. This is necessary to garbage collect continuations.