`lateinit` lets you initialize a non-null `var` later (after construction). You can use it only with mutable properties of non-primitive types (not `val`, not `Int`), and you must set it before reading or you’ll get an exception.