Module Deriving_monad
module Deriving_monad : sig..end
module type Monad = sig..end
module type MonadPlus = sig..end
module MonadDefault : functor (M : sig type +'a m val return : 'a -> 'a m val fail : string -> 'a m val (>>=) :
'a m ->
('a -> 'b m) ->
'b m syntax error in wikisyntaxend) ->
Monadwith type +'a m = 'a M.m
>>
module Monad_option : MonadPluswith type 'a m = 'a option
module Monad_list : MonadPluswith type 'a m = 'a list
module IO : sig..end
module type MonadUtilsSig = sig..end
module MonadUtils : functor (M : Monad) ->
MonadUtilsSigwith type 'a m = 'a M.m
module type MonadPlusUtilsSig = sig..end
module MonadPlusUtils : functor (M : MonadPlus) ->
MonadPlusUtilsSigwith type 'a m = 'a M.m
module MonadPlusUtils_option : MonadPlusUtilsSigwith type 'a m = 'a Monad_option.m
module MonadPlusUtils_list : MonadPlusUtilsSigwith type 'a m = 'a Monad_list.m
module Monad_IO : MonadUtilsSigwith type 'a m = 'a IO.m
module type Monad_state_type = sig..end
module Monad_state : functor (S : sig type stateend) ->
Monad_state_typewith type state = S.state