Functor Monad.Make3

module Make3: 
functor (M : Basic3) -> S3 with type ('p, 'q, 'a) t := ('p, 'q, 'a) M.t
Parameters:
M : Basic3

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