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