About nullability, I don't know if that's true at least if you use Kotlin as gospel. If it was believed nulls should have been banned in Kotlin, they would have been. Rather than having a platform type, Kotlin would have forced you to convert a Java null value to something else or simply error out. Unless there's something about the JVM I don't know about that required nulls to be acknowledged in Kotlin...