Module type WithM.MonadError


module type MonadError = sig .. end

type +'a m 
val return : 'a -> 'a m
val bind : ('a -> 'b m) ->
'a m -> 'b m
val bind_rev : 'a m ->
('a -> 'b m) -> 'b m
val error : exn -> 'a m
val catch : (unit -> 'a m) ->
(exn -> 'a m) -> 'a m