@ file : Suppress (" unused ") Ċ Ċ package Ġby . kir ich 1 4 0 9 . result Ċ Ċ import Ġkotlin . contracts . Experimental Contracts Ċ import Ġkotlin . contracts . contract Ċ Ċ fun Ġ< T > ĠResult < T >. is Success (): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġthis Ġis ĠResult . Success Ċ } Ċ Ċ fun Ġ< T > ĠResult < T >. as Success (): ĠResult . Success < T > Ġ{ ĊĠĠĠ Ġreturn Ġthis Ġas ĠResult . Success < T > Ċ } Ċ Ċ @ Opt In ( Experimental Contracts :: class ) Ċ fun Ġ< T > ĠResult < T >. is Failure (): ĠBoolean Ġ{ ĊĠĠĠ Ġcontract Ġ{ ĊĠĠĠĠĠĠĠ Ġreturns ( true ) Ġimplies Ġ( this @ is Failure Ġis ĠResult . Failure <* >) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġthis Ġis ĠResult . Failure < *> Ċ } Ċ Ċ fun Ġ< T > ĠResult < T >. as Failure (): ĠResult . Failure < *> Ġ{ ĊĠĠĠ Ġreturn Ġthis Ġas ĠResult . Failure < *> Ċ } Ċ Ċ fun Ġ< T , ĠR > ĠResult < T >. map ( transform : Ġ( value : ĠT ) Ġ-> ĠR ): ĠResult < R > Ġ{ ĊĠĠĠ Ġreturn Ġwhen ( this ) Ġ{ ĊĠĠĠĠĠĠĠ Ġis ĠResult . Success Ġ-> ĠResult . Success . Value ( transform ( value )) ĊĠĠĠĠĠĠĠ Ġis ĠResult . Failure < *> Ġ-> Ġthis ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġ< T , ĠR > ĠResult < T >. flatMap ( transform : Ġ( result : ĠResult < T >) Ġ-> ĠResult < R >): ĠResult < R > Ġ{ ĊĠĠĠ Ġreturn Ġtransform ( this ) Ċ } Ċ