// Ġ! WITH _ NEW _ IN FER ENCE Ċ fun Ġfoo ( s : ĠAny ?): ĠString Ġ{ ĊĠĠĠ Ġval Ġt Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠTo Ġresolve : ĠString ĠU ĠNothing ? Ġ= ĠString ? ĊĠĠĠĠĠĠĠ Ġs Ġis ĠString Ġ-> Ġs ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠ Ġ} Ġ?: Ġ"" ĊĠĠĠ Ġreturn Ġt Ċ } Ċ Ċ fun Ġbar ( s : ĠAny ?): ĠString Ġ{ ĊĠĠĠ Ġ// ĠTo Ġresolve : ĠString ĠU ĠNothing ? Ġ= ĠString ? ĊĠĠĠ Ġval Ġt Ġ= Ġ( if Ġ( s Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġnull ĊĠĠĠ Ġ} ĊĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġu : ĠAny ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġif Ġ( u Ġ! is ĠString ) Ġreturn Ġ"" ĊĠĠĠĠĠĠĠ Ġu ĊĠĠĠ Ġ}) Ġ?: Ġ" xyz " ĊĠĠĠ Ġ// ĠIde ally Ġwe Ġshould Ġhave Ġsmart Ġcast Ġto ĠString Ġhere ĊĠĠĠ Ġreturn Ġt Ċ } Ċ Ċ fun Ġbaz ( s : ĠString ?, Ġr : ĠString ?): ĠString Ġ{ ĊĠĠĠ Ġval Ġt Ġ= Ġr Ġ?: Ġwhen Ġ{ ĊĠĠĠĠĠĠĠ Ġs Ġ!= Ġnull Ġ-> Ġs ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ"" ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġt Ċ } Ċ Ċ fun Ġwith Null ( s : ĠString ?): ĠString Ġ{ ĊĠĠĠ Ġval Ġt Ġ= Ġs Ġ?: Ġnull ĊĠĠĠ Ġ// ĠError : Ġnullable ĊĠĠĠ Ġreturn Ġt Ċ }