package Ġorg . http 4 k . lens Ċ Ċ import Ġdev . fork handles . result 4 k . Failure Ċ import Ġdev . fork handles . result 4 k . Result Ċ import Ġdev . fork handles . result 4 k . Success Ċ Ċ /** Ċ Ġ* ĠConvert Ġthe Ġresult Ġof Ġa Ġlens Ġextraction Ġto Ġa ĠResult 4 k Ġtype Ġwhich Ċ Ġ*/ Ċ fun Ġ< IN , ĠOUT > ĠLens Extractor < IN , ĠOUT >. as Result (): ĠLens Extractor < IN , ĠResult < OUT , ĠLens Failure >> Ġ= Ġobject Ġ: ĠLens Extractor < IN , ĠResult < OUT , ĠLens Failure >> Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġinvoke ( target : ĠIN ): ĠResult < OUT , ĠLens Failure > Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠ ĠSuccess ( this @ as Result . invoke ( target )) ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠLens Failure ) Ġ{ ĊĠĠĠĠĠĠĠ ĠFailure ( e ) ĊĠĠĠ Ġ} Ċ } Ċ