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
end
) ->
Monad
with type +'a m = 'a M.m
module Monad_option: MonadPlus
with type 'a m = 'a option
module Monad_list: MonadPlus
with type 'a m = 'a list
module IO: sig
.. end
module type MonadUtilsSig = sig
.. end
module MonadUtils:
module type MonadPlusUtilsSig = sig
.. end
module MonadPlusUtils:
module MonadPlusUtils_option: MonadPlusUtilsSig
with type 'a m = 'a Monad_option.m
module MonadPlusUtils_list: MonadPlusUtilsSig
with type 'a m = 'a Monad_list.m
module Monad_IO: MonadUtilsSig
with type 'a m = 'a IO.m
module type Monad_state_type = sig
.. end
module Monad_state: