And another question - but I guess you more in coroutines than collections -> One "pain" I see in Kotlin is that if it uses vals on collections, it still is the same underlying java collection under the hood, and no possibility to use structural sharing when doing operations on collections - what Clojure does... so definitely there is performance loss whenever doing operations on immutable collections