Functor Deriving_monad.MonadDefault

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
Parameters:
M : sig type +'a m val return : 'a -> 'a m val fail : string -> 'a m val ( >>= ) : 'a m -> ('a -> 'b m) -> 'b m end

type +'a m 
val return : 'a -> 'a m
val fail : string -> 'a m
val (>>=) : 'a m ->
('a -> 'b m) -> 'b m
val (>>) : 'a m ->
'b m -> 'b m