Module type Monad_intf.Infix_indexed

Same as Infix, except the monad type has three arguments. The second and third are compose across all computation.

type ('a, 'i, 'j) t
val (>>=) : ('a'i'j) t -> ('a -> ('b'j'k) t) -> ('b'i'k) t
val (>>|) : ('a'i'j) t -> ('a -> 'b) -> ('b'i'j) t