tezos-error-monad

Tezos: error monad
Library tezos-error-monad
val return : 'a -> ( 'a, 'error ) result Lwt.t
val return_unit : ( unit, 'error ) result Lwt.t
val return_none : ( 'a option, 'error ) result Lwt.t
val return_some : 'a -> ( 'a option, 'error ) result Lwt.t
val return_nil : ( 'a list, 'error ) result Lwt.t
val return_true : ( bool, 'error ) result Lwt.t
val return_false : ( bool, 'error ) result Lwt.t
val fail : 'error -> ( 'a, 'error trace ) result Lwt.t
val let* : ( 'a, 'e ) result Lwt.t -> ( 'a -> ( 'b, 'e ) result Lwt.t ) -> ( 'b, 'e ) result Lwt.t
val and* : ( 'a, 'e trace ) result Lwt.t -> ( 'b, 'e trace ) result Lwt.t -> ( 'a * 'b, 'e trace ) result Lwt.t
val let+ : ( 'a, 'e ) result Lwt.t -> ( 'a -> 'b ) -> ( 'b, 'e ) result Lwt.t
val and+ : ( 'a, 'e trace ) result Lwt.t -> ( 'b, 'e trace ) result Lwt.t -> ( 'a * 'b, 'e trace ) result Lwt.t
val let*! : 'a Lwt.t -> ( 'a -> 'b Lwt.t ) -> 'b Lwt.t
val let*? : ( 'a, 'e ) result -> ( 'a -> ( 'b, 'e ) result Lwt.t ) -> ( 'b, 'e ) result Lwt.t
val join : ( unit, 'error trace ) result Lwt.t list -> ( unit, 'error trace ) result Lwt.t
val all : ( 'a, 'error trace ) result Lwt.t list -> ( 'a list, 'error trace ) result Lwt.t
val both : ( 'a, 'error trace ) result Lwt.t -> ( 'b, 'error trace ) result Lwt.t -> ( 'a * 'b, 'error trace ) result Lwt.t