@jkbbwr: because many things are easier to express with a loop and a state than with a pure FP language. Kotlin is being cool and allows you to chose the right tool for the job, which is sometimes FP and sometimes OOP with state. For example Scala does that too, but the community considers FP to be "the right way", so you often see a lot of unnecessary complications in Scala SO because of that