@ file : Suppress (" unused ") Ċ Ċ package Ġorg . tu vec in ote ay uda . core . ext Ċ Ċ /** Ċ Ġ* ĠAllows Ġan Ġelse Ġblock Ġfor Ġnull Ġvalues Ċ Ġ* ĠSimilar Ġto Ġlet , Ġit Ġreturns Ġa Ġvalue Ċ Ġ*/ Ċ inline Ġfun Ġ< T , ĠR > ĠT ?. let OrElse ( notNull Block : Ġ( T ) Ġ-> ĠR , Ġnull Block : Ġ() Ġ-> ĠR ): ĠR Ġ{ ĊĠĠĠ Ġreturn Ġthis ?. let ( notNull Block ) Ġ?: Ġnull Block . invoke () Ċ } Ċ Ċ /** Ċ Ġ* ĠAllows Ġan Ġelse Ġblock Ġfor Ġnull Ġvalues Ċ Ġ* ĠSimilar Ġto Ġalso , Ġit 's Ġjust Ġa Ġside - effect Ġdoes Ġnot Ġreturn Ġa Ġvalue Ċ Ġ*/ Ċ inline Ġfun Ġ< T > ĠT . also OrElse ( notNull Block : Ġ( T ) Ġ-> ĠUnit , Ġnull Block : Ġ( T ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġthis ?. also ( notNull Block ) Ġ?: Ġrun ( null Block ) Ċ } Ċ Ċ inline Ġfun Ġ< T , ĠR > ĠT ?. if Null Let ( null Block : Ġ() Ġ-> ĠR ): ĠR ? Ġ{ ĊĠĠĠ Ġreturn Ġthis ?. let Ġ{ Ġreturn Ġnull Ġ} Ġ?: Ġnull Block . invoke () Ċ } Ċ