Well, if you think about Kotlin as a “sugared Java” then probably that logic would apply, but we think about it as a distinct language, that happens to compile to same backend as Java. We try to do best interop possible, but sometimes there would be inevitable trade-offs. Even annotation target
field:
is a trade-off, sacrificing language purity, because there are no fields in JavaScript backend, for example.