Module Exception

module Exception: sig .. end

type ('left, 'right) t 
val bind : ('left, 'right) t ->
('right -> ('left, 'new_right) t) ->
('left, 'new_right) t
val return : 'right -> ('left, 'right) t
val throw : 'left -> ('left, 'right) t
val catch : ('left, 'right) t ->
('left -> ('new_left, 'right) t) -> ('new_left, 'right) t
val run : ('left -> 'a) -> ('right -> 'a) -> ('left, 'right) t -> 'a