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