As a thought experiment, imagine we define some class Base in Java, and Base contains all the injected members, then we extend Base in Kotlin and now we have our collection of ! variables locally in this Kotlin subclass? The main problem being there's no "this and subclasses" access level.