sig
type ('a, 'b) t
val return : 'a -> ('a, 'b) Pvem.ERROR_MONAD.t
val bind :
('a, 'b) Pvem.ERROR_MONAD.t ->
('a -> ('c, 'b) Pvem.ERROR_MONAD.t) -> ('c, 'b) Pvem.ERROR_MONAD.t
val ( >>= ) :
('a, 'b) Pvem.ERROR_MONAD.t ->
('a -> ('c, 'b) Pvem.ERROR_MONAD.t) -> ('c, 'b) Pvem.ERROR_MONAD.t
val fail : 'b -> ('a, 'b) Pvem.ERROR_MONAD.t
val map :
('a, 'b) Pvem.ERROR_MONAD.t -> ('a -> 'c) -> ('c, 'b) Pvem.ERROR_MONAD.t
val ( >>| ) :
('a, 'b) Pvem.ERROR_MONAD.t -> ('a -> 'c) -> ('c, 'b) Pvem.ERROR_MONAD.t
val destruct :
('a, 'b) Pvem.ERROR_MONAD.t ->
([> `Error of 'b | `Ok of 'a ] -> ('c, 'd) Pvem.ERROR_MONAD.t) ->
('c, 'd) Pvem.ERROR_MONAD.t
val ( >>< ) :
('a, 'b) Pvem.ERROR_MONAD.t ->
([> `Error of 'b | `Ok of 'a ] -> ('c, 'd) Pvem.ERROR_MONAD.t) ->
('c, 'd) Pvem.ERROR_MONAD.t
end