I have a problem with that idea. While this might be ok if you are developing an application this will lead to problems if multiple libraries add their own versions of the interfaces, because combining those libraries will require some sort of bridge between the interface.
While I don’t dislike the idea of libraries like kotlin-extlib, it still leads to problems. One is that the intefaces there aren’t the same as the jvm ones which can only be done in the standard library I think.
The other issue is that it isn’t that well known and therefor has a small impact.
About the jvm interfaces, this isn’t really part of this discussion, but can you have an expect interface like
// common code
expect interface Queue<T> {
fun push(element: T)
...
}
// jvm code
actual typealias Queue<T> = java.lang.Queue<T>
This would at least sovle one problem I have with this being implemented outside of the standard library.