Module type Monads.Std.Monad.S2

module type S2 = sig .. end

type ('a, 'e) t 
val void : ('a, 'e) t -> (unit, 'e) t
void m computes m and discrards the result.
val sequence : (unit, 'e) t list -> (unit, 'e) t
sequence xs computes a sequence of computations xs in the left to right order.
val forever : ('a, 'e) t -> ('b, 'e) t
forever xs creates a computationt that never returns.
module Fn: sig .. end
Various function combinators lifted into the Kleisli category.
module Pair: sig .. end
The pair interface lifted into the monad.
module Triple: sig .. end
The triple interface lifted into a monad.
module Lift: sig .. end
Lifts functions into the monad.
module Exn: sig .. end
Interacting between monads and language exceptions
module Collection: sig .. end
Lifts collection interface into the monad.
module List: Collection.S  with type 'a t := 'a list
The Monad.Collection.S2 interface for lists
module Seq: Collection.S  with type 'a t := 'a Sequence.t
The Monad.Collection.S2 interface for sequences
include Monads.Std.Monad.Syntax.S2
include Monad.S2
module Syntax: Std.Monad.Syntax.S2  with type ('a,'e) t := ('a,'e) t
Monadic operators, see Monad.Syntax.S2 for more.