type ('a, 'b) t = | Left of 'a |
| Right of 'b |
val return : 'a -> ( 'b, 'c ) tval return_left : 'a -> ( 'b, 'c ) tval bind : ( 'a, 'b ) t -> ( 'c -> ( 'd, 'e ) t ) -> ( 'd, 'e ) tval bind_left : ( 'a, 'b ) t -> ( 'c -> ( 'd, 'e ) t ) -> ( 'd, 'e ) tval (>>=) : ( 'a, 'b ) t -> ( 'b -> ( 'a, 'c ) t ) -> ( 'a, 'c ) tval of_option : left:'a -> 'b option -> ( 'c, 'd ) tval of_result : ( 'a, 'b ) Result.result -> ( 'c, 'd ) t