Make2.Let
Monadic Binding Operators.
val let* : ('a, 'e) M.t -> ('a -> ('b, 'e) M.t) -> ('b, 'e) 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, 'e) M.t -> ('b, 'e) M.t -> ('a * 'b, 'e) M.t
monoidal product
val let+ : ('a, 'e) M.t -> ('a -> 'b) -> ('b, 'e) 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, 'e) M.t -> ('b, 'e) M.t -> ('a * 'b, 'e) M.t