Multi parameter monad.
The second parameter get unified across all the computation. This is used
to encode monads working on a multi parameter data structure like
(('a,'b result)).
Signature
type
('a, 'e)
t
val
bind : ('a, 'e) t -> ('a -> ('b, 'e) t) -> ('b, 'e) t
val
map : [
|
`Define_using_bind
|
`Custom
of
('a, 'e) t -> f:('a -> 'b) -> ('b, 'e) t