Module Base.Monad

module type Basic = sig ... end
module type Basic2 = sig ... end
module type Basic3 = sig ... end
module type Basic_indexed = sig ... end
module type Infix = sig ... end
module type Infix2 = sig ... end
module type Infix3 = sig ... end
module type Infix_indexed = sig ... end
module type Syntax = sig ... end
module type Syntax2 = sig ... end
module type Syntax3 = sig ... end
module type Syntax_indexed = sig ... end
module type S_without_syntax = sig ... end
module type S = sig ... end
module type S2 = sig ... end
module type S3 = sig ... end
module type S_indexed = sig ... end
module Make : functor (X : Basic) -> S with type 'a t := 'a X.t
module Make2 : functor (X : Basic2) -> S2 with type ('a, 'e) t := ('a'e) X.t
module Make3 : functor (X : Basic3) -> S3 with type ('a, 'd, 'e) t := ('a'd'e) X.t
module Make_indexed : functor (X : Basic_indexed) -> S_indexed with type ('a, 'd, 'e) t := ('a'd'e) X.t
module Ident : S with type 'a t = 'a