Какие ключевые различия между `lateinit` и `lazy` инициализацией свойств в Kotlin, и когда следует использовать каждый из них? — ДейлиПреп