Module GapiMonad

Defines the monad interface and provides implementations of some monads.

module type Monad = sig ... end
module type MonadCombinators = sig ... end
module MakeMonadCombinators : functor (M : Monad) -> MonadCombinators with type 'a m = 'a M.t
module type StateMonad = sig ... end
module MakeStateMonad : functor (T : sig ... end) -> StateMonad with type 'a t = T.s -> 'a * T.s
module SessionM : sig ... end
module type ListMonad = sig ... end
module ListM : sig ... end