Layer error monad within tenacious monad
module Problem : sig ... end
val wrap : ('a, Problem.t) Core.Result.t Tenacious.t ‑> 'a t
val expose : 'a t ‑> ('a, Problem.t) Core.Result.t Tenacious.t
val of_tenacious : 'a Tenacious.t ‑> 'a t
val return : 'a ‑> 'a t
val memoize : name:Core.String.t Core.Lazy.t ‑> 'a t ‑> 'a t
val of_deferred : (unit ‑> 'a Async.Deferred.t) ‑> 'a t
val desensitize : 'a t ‑> ('a * Tenacious.Heart.t) t
val sensitize : Tenacious.Heart.t ‑> unit t
val bracket : 'a t ‑> running:(int ‑> unit) ‑> finished:(('a, Problem.t) Core.Result.t ‑> unit) ‑> cancelled:(unit ‑> unit) ‑> 'a t
val return_result : ('a, Reason.t) Core.Result.t ‑> 'a t
val bind_result : 'a t ‑> ('a ‑> ('b, Reason.t) Core.Result.t) ‑> 'b t