include Core_kernel.Monad.S with type a t := a t
include Base__.Monad_intf.S_without_syntax with type a t := a t
include Base__.Monad_intf.Infix with type a t := a t
module Monad_infix : Base__.Monad_intf.Infix with type a t := a t
val fail : Core_kernel.Error.t ‑> _ t
val ok_unit : unit t
val ok_exn : 'a t ‑> 'a Async_kernel.Deferred.t
val of_exn : exn ‑> _ t
val of_exn_result : ('a, exn) Core_kernel.Result.t Async_kernel.Deferred.t ‑> 'a t
val error : string ‑> 'a ‑> ('a ‑> Core_kernel.Sexp.t) ‑> _ t
val error_s : Core_kernel.Sexp.t ‑> _ t
val error_string : string ‑> _ t
val errorf : ('a, unit, string, _ t) Core_kernel.format4 ‑> 'a
val tag_arg : 'a t ‑> string ‑> 'b ‑> ('b ‑> Core_kernel.Sexp.t) ‑> 'a t
val unimplemented : string ‑> _ t
val try_with : ?extract_exn:bool ‑> ?here:Lexing.position ‑> ?name:string ‑> (unit ‑> 'a Async_kernel.Deferred.t) ‑> 'a t
Note that try_with f
is eager only in the Ok
case.