fun Ġmain () Ġ{ ĊĠĠĠ Ġvar Ġdirty Level Ġ= Ġ 2 0 ĊĠĠĠ Ġval Ġwater Filter : Ġ( Int ) Ġ-> ĠInt Ġ= Ġ{ Ġdirty Ġ-> Ġdirty Ġ/ Ġ 2 Ġ} ĊĠĠĠ Ġprintln ( water Filter ( dirty Level )) ĊĊĠĠĠ Ġfun Ġupdate Dirty ( dirty : ĠInt , Ġoperation : Ġ( Int ) Ġ-> ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġoperation ( dirty ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġprintln ( update Dirty ( 3 0 , water Filter )) ĊĊĠĠĠ Ġfun Ġincrease Dirty ( start : ĠInt ) Ġ= Ġstart Ġ+ Ġ 1 ĊĊĠĠĠ Ġprintln ( update Dirty ( 1 5 , :: increase Dirty )) Ċ } Ċ