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