Module GapiMonad

module GapiMonad: sig .. end
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
type s 
end) -> StateMonad with type 'a t = T.s -> 'a * T.s
module SessionM: sig .. end
module type ListMonad = sig .. end
module ListM: sig .. end