// ĠOriginal Ġbug : ĠK T - 3 5 4 6 7 Ċ Ċ fun Ġmain () Ġ{ Ċ ĉ // Ġextract s Ġincorrectly Ġ- Ġreturns ĠUnit , Ġbut ĠString Ġexpected Ċ ĉ val Ġa Ġ= Ġget A () Ġ// ĠUnit Ċ ĉ val Ġc Ġ= ĠgetC () Ġ// ĠUnit Ċ ĉ val Ġd Ġ= Ġget D () Ġ// ĠUnit Ċ ĉ val Ġe Ġ= Ġget E () Ġ// ĠUnit ĊĊ ĉ // Ġextract s Ġcorrectly Ġfor Ġall Ġthese Ġcopied Ġextensions Ċ ĉ val Ġe 2 Ġ= Ġs () Ġ// ĠString Ċ Ċ } Ċ Ċ private Ġfun Ġget E () Ġ{ Ċ ĉ "" . apply Ġ{ Ġthis Ġ} Ċ } Ċ Ċ private Ġfun Ġget D () Ġ{ Ċ ĉ "" . run Ġ{ Ġthis Ġ} Ċ } Ċ Ċ private Ġfun Ġget A () Ġ{ Ċ ĉ "" . take If Ġ{ Ġtrue Ġ} Ċ } Ċ Ċ private Ġfun Ġs () Ġ= Ġ"". apply 2 Ġ{ Ġthis Ġ} Ċ Ċ private Ġfun ĠgetC () Ġ{ Ċ ĉ "" . let Ġ{ Ġit Ġ} Ċ } Ċ Ċ inline Ġfun Ġ< T > ĠT . apply 2 ( block : ĠT . () Ġ-> ĠUnit ): ĠT Ġ{ Ċ ĉ block () Ċ ĉ return Ġthis Ċ } Ċ