Kotlin mostly requires JVM, Crystal does not.
With Kotlin native, Kotlin js and most importantly Graal native this is plain wrong.
Also there is no ABI so you cannot use anything like a native DLL.
Native compilation while possible is clearly second class on the JVM platform. For Crystal it is first class.
Pretty sure this isn't the case with Kotlin Native[1].
[1] https://kotlinlang.org/docs/native-dynamic-libraries.html
This was not the case when Crystal development started.