123456789101112131415161718192021222324252627282930313233343536373839open!Core_kernelopen!Async_kernelopen!ImportmoduleDeferred=Eager_deferred0openDeferred.Let_syntax(* Copied from [deferred_result.ml]. There should be no diffs below this line. *)moduleT=structtype('a,'error)t=('a,'error)Result.tDeferred.tendincludeTletcombinet1t2~ok~err=let%mapt1=t1andt2=t2inResult.combinet1t2~ok~err;;includeMonad.Make2(structincludeTletreturna=Deferred.return(Oka)letbindt~f=Deferred.bindt~f:(function|Oka->fa|Error_aserror->Deferred.returnerror);;letmapt~f=Deferred.mapt~f:(funr->Result.mapr~f)letmap=`Custommapend)letignore=ignore_mletfailx=Deferred.return(Errorx)letfailfformat=Printf.ksprintffailformatletmap_errort~f=Deferred.mapt~f:(funr->Result.map_errorr~f)