Module Core_extended.Extended_monad

module List = Core.List
module type S : sig ... end
module Make : functor (M : Core.Monad.Basic) -> S with type t := a M.t
module type S2 : sig ... end
module Make2 : functor (M : Core.Monad.Basic2) -> S2 with type (a, b) t := (a, b) M.t