Functor Monad.Make2

module Make2: 
functor (M : Basic2) -> S2 with type ('p, 'a) t := ('p, 'a) M.t
Parameters:
M : Basic2

type ('_, '_) t 
include Monad.Basic2
include Applicative.S2
val (>>=) : ('p, 'a) t -> ('a -> ('p, 'b) t) -> ('p, 'b) t
val join : ('p, ('p, 'a) t) t -> ('p, 'a) t
val mcompose : ('b -> ('p, 'c) t) ->
('a -> ('p, 'b) t) -> 'a -> ('p, 'c) t