module List : Core.Std.List
module type S = sig .. end
include Core.Monad.S
val map_monad : 'a list -> f:('a -> 'b t) -> 'b list t
val map_monad_ignore : 'a list -> f:('a -> unit t) -> unit t
module Make : 
functor (M : Core.Monad.Basic) -> S with type t := 'a M.t
module type S2 = sig .. end
include Core.Monad.S2
val map_monad : 'a list -> f:('a -> ('b, 'c) t) -> ('b list, 'c) t
val map_monad_ignore : 'a list -> f:('a -> (unit, 'b) t) -> (unit, 'b) t
module Make2 : 
functor (M : Core.Monad.Basic2) -> S2 with type t := ('a, 'b) M.t