Module Monad

module Monad: sig .. end

Monads


module type Basic = sig .. end
module type Basic2 = sig .. end
module type Basic3 = sig .. end
module type S = sig .. end
module type S2 = sig .. end
module type S3 = sig .. end
module Make: 
functor (M : Basic) -> S with type 'a t := 'a M.t
module Make2: 
functor (M : Basic2) -> S2 with type ('p, 'a) t := ('p, 'a) M.t
module Make3: 
functor (M : Basic3) -> S3 with type ('p, 'q, 'a) t := ('p, 'q, 'a) M.t