var Ġresult Ġ= Ġ" Fail " Ċ class ĠA < T > Ġ{ Ċ fun Ġfoo ( t : ĠT ): ĠUnit Ġ{ Ċ result Ġ= Ġ( t Ġas ĠString ) Ċ } Ċ } Ċ fun Ġbox (): ĠString Ġ{ Ċ ( when Ġ{ Ċ (( A < String >:: foo )) Ġin Ġnull Ġ-> Ġ(( A < String >:: foo )) Ċ else Ġ-> Ġ(( A < String >:: foo )) Ċ }). call ( A < String >(), Ġ" OK ") Ċ return Ġresult Ċ }