<@U1E6YJL2G> A `lateinit var prop:Type` is a ```...
# reflect
a
@bloodshura A
lateinit var prop:Type
is a
Copy code
private @JvmField("prop") var prop$backing: Type? = null
var prop: Type 
    get() = prop$backing ?: throw UPAE()
So if private field is non-null, lateinit property is initialized. But
lateinit
is supposed to be a contract "I guarantee the property will be initialized before the first access", so I'd strongly suggest making these fields nullable