// Ġ! CHECK _ TYPE Ċ Ċ package Ġn Ċ Ċ import Ġjava . util .* Ċ import Ġcheck Subtype Ċ Ċ fun Ġtest () Ġ{ ĊĠĠĠ Ġval Ġfoo Ġ= Ġarray List (" "). map Ġ{ Ġit Ġ-> Ġit . length Ġ}. fold ( 0 , Ġ{ Ġx , Ġy Ġ-> ĠMath . max ( x , Ġy ) Ġ}) ĊĠĠĠ Ġcheck Subtype < Int >( foo ) ĊĠĠĠ Ġcheck Subtype < String >( <! TYPE _ MIS MATCH !> foo <! >) Ċ } Ċ Ċ // from Ġlibrary Ċ fun Ġ< T > Ġarray List ( var arg Ġvalues : ĠT ) Ġ: ĠArrayList < T > Ġ{ <! NO _ RETURN _ IN _ FUNCTION _ WITH _ BLOCK _ BODY ! >} <! > Ċ Ċ fun Ġ< T , ĠR > ĠCollection < T >. map ( transform Ġ: Ġ( T ) Ġ-> ĠR ) Ġ: ĠList < R > Ġ{ <! NO _ RETURN _ IN _ FUNCTION _ WITH _ BLOCK _ BODY ! >} <! > Ċ Ċ fun Ġ< T > ĠIterable < T >. fold ( initial : ĠT , Ġoperation : Ġ( T , ĠT ) Ġ-> ĠT ): ĠT Ġ{ <! NO _ RETURN _ IN _ FUNCTION _ WITH _ BLOCK _ BODY ! >} <! > Ċ