Well, there is another aspect of this. By having multiple libraries doing similar things, e.g. for functional things, promises and futures, etc it is making ecosystem a little bit fragmented. So that each project may select different combination of libraries, and projects build with Kotlin become slightly different. It’s not very bad, but makes it harder to jump projects, makes job market fragmented, harder to understand OSS projects, etc.