Choice.Make2
val accept : 'a -> ('a, 'e) M.t
accept x
accepts x
as a result of computation. (Same as pure x
.
val reject : unit -> ('a, 'e) M.t
reject ()
rejects the rest of computation sequence, and terminate the computation with the zero
result (Same as zero ()
val guard : bool -> (unit, 'e) M.t
guard cond
ensures cond
is true
in the rest of computation. Otherwise the rest of the computation is rejected.