functor (M : Monad.Basic3) ->
sig
val traverse : ('a -> ('u, 'v, 'b) M.t) -> 'a t -> ('u, 'v, 'b t) M.t
val traverse_ : ('a -> ('u, 'v, 'b) M.t) -> 'a t -> ('u, 'v, unit) M.t
val sequence : ('a, 'b, 'c) M.t t -> ('a, 'b, 'c t) M.t
val sequence_ : ('a, 'b, 'c) M.t t -> ('a, 'b, unit) M.t
val foldr_m :
('a -> 'b -> ('u, 'v, 'b) M.t) -> 'b -> 'a t -> ('u, 'v, 'b) M.t
val foldl_m :
('b -> 'a -> ('u, 'v, 'b) M.t) -> 'b -> 'a t -> ('u, 'v, 'b) M.t
end