@altavir @kyonifer resuming conversation from #datascience, I think we need to be clear what we are trying to achieve, other than "make it not NumPy". Are we trying to create a better backend engine? Or trying to establish interfaces and idioms? The nice thing at Kotlin is you can easily make things idiomatic and add syntactic sugar on top of an ugly base implementation. I made some small contributions to Koma aligned to that philosophy.
I think it's also important to consider we want to not only avoid Python style, but also Java. Personally I think interfaces should never have to be used in application usage. There should be extension functions like toMatrix() to turn iterables of items into matrices, use matrixOf() varargs functions, etc.