# Functor Monad_intf.Monad.Make2

    module Make2: functor (X : Basic2) -> S2  with type ('a, 'e) t := ('a, 'e) X.t

Parameters:

`X` | : | `Basic2`

    include Monad_intf.Infix2

    module Monad_infix: Monad_intf.Infix2  with type ('a, 'e) t := ('a, 'e) t

    val bind : ('a, 'e) t -> ('a -> ('b, 'e) t) -> ('b, 'e) t

    val return : 'a -> ('a, 'b) t

    val map : ('a, 'e) t -> f:('a -> 'b) -> ('b, 'e) t

    val join : (('a, 'e) t, 'e) t -> ('a, 'e) t

    val ignore_m : ('a, 'e) t -> (unit, 'e) t

    val all : ('a, 'e) t list -> ('a list, 'e) t

    val all_ignore : (unit, 'e) t list -> (unit, 'e) t