@cleishm Hi Chris. Thanks for sharing your experience and sorry for very long delay.
First of all we usually don't add coroutines addons to stdlib but to kotlinx.coroutines and kotlinx-io. I'd say that there are serious concerns that prevent the code to be integrated as is.
The first problem is that it is simply a clone of Java NIO (that is IMO is not that good especially in the selection part) while we would like to have more idiomatic API and for sure we need to eliminate known problems such as fragile and error-prone patterns, non-composable primitives and so on.
The second obvious problem is that it is JVM-only and will be never multiplatform. On the other hand we are working on kotlinx-io and it's redesign right now and for sure we are not going to just copy
java.nio.ByteBuffer
that is well known as very error-prone so the code using it is very difficult to write and test corner cases.