There are things already that give type safety in Kotlin but don’t in Java interop, and that’s fine.
-> Not sure I accept argument about Java interop. Especially with Value classes, as far as I understand they will be compiled down to original types because of 0-cost abstraction which again makes Java interop “unsafe” but keeps Kotlin code type safe.
What about:
Maybe better deprecate adding extension functions and properties to typealiases to not break user expectation?