Module Stdlib.Monad
module type Basic2 = sig ... endMulti parameter monad. The second parameter gets unified across all the computation. This is used to encode monads working on a multi parameter data structure like (('a,'b) result).
module type Basic = sig ... endmodule type S2 = sig ... endmodule type S = sig ... endmodule Make
(X : Misc.Stdlib.Monad.Basic) :
Misc.Stdlib.Monad.S with type 'a t = 'a X.tmodule Make2
(X : Misc.Stdlib.Monad.Basic2) :
Misc.Stdlib.Monad.S2 with type ('a, 'e) t = ('a, 'e) X.tmodule Identity : Misc.Stdlib.Monad.S with type 'a t = 'amodule Option : Misc.Stdlib.Monad.S with type 'a t = 'a optionmodule Result :
Misc.Stdlib.Monad.S2 with type ('a, 'e) t = ('a, 'e) Stdlib.result