Module Monad

module Monad: Monad

module type Basic = sig .. end
module type Infix = sig .. end
module type S = sig .. end
module Make: 
functor (M : Basic) -> sig .. end
module type Basic2 = sig .. end
Multi parameter monad.
module type Infix2 = sig .. end
Same as Infix, except the monad type has two arguments.
module type S2 = sig .. end
The same as S except the monad type has two arguments.
module Check_S2_refines_S: 
functor (X : S) -> sig .. end
module Make2: 
functor (M : Basic2) -> sig .. end