Functor Monad.Make

module Make: 
functor (M : Basic) -> S with type 'a t := 'a M.t
Parameters:
M : Basic

type '_ t 
include Monad.Basic
include Applicative.S
val (>>=) : 'a t -> ('a -> 'b t) -> 'b t
val join : 'a t t -> 'a t
val mcompose : ('b -> 'c t) -> ('a -> 'b t) -> 'a -> 'c t