Make.Let
Monadic operators, see Monad.Syntax.S for more.
val let* : 'a M.t -> ('a -> 'b M.t) -> 'b M.t
let* r = f x in b is f x >>= fun r -> b
let* r = f x in b
f x >>= fun r -> b
val and* : 'a M.t -> 'b M.t -> ('a * 'b) M.t
monoidal product
val let+ : 'a M.t -> ('a -> 'b) -> 'b M.t
let+ r = f x in b is f x >>| fun r -> b
let+ r = f x in b
f x >>| fun r -> b
val and+ : 'a M.t -> 'b M.t -> ('a * 'b) M.t