Module Monad.I
val (<$>) : ('a -> 'b) -> 'a M.t -> 'b M.tval (<@>) : 'a M.t -> ('a -> 'b) -> 'b M.tval (<*>) : ('a -> 'b) M.t -> 'a M.t -> 'b M.tval (>>=) : 'a M.t -> ('a -> 'b M.t) -> 'b M.tval (=<<) : ('a -> 'b M.t) -> 'a M.t -> 'b M.tval (>=>) : ('a -> 'b M.t) -> ('b -> 'c M.t) -> 'a -> 'c M.tval (<=<) : ('a -> 'b M.t) -> ('c -> 'a M.t) -> 'c -> 'b M.t