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