Propiedad diferida de Kotlin dependiendo de otra propiedad inicializada en init

Tengo la siguiente class en Kotlin:

class Example { val name: String val lazyVar: String by lazy { name + " something else" } init { name = "StackOverflow" } } 

Obtengo el siguiente error cuando uso el name en el bloque de initialization diferida de lazyVar (aunque el name se inicializa en el bloque de init ):

La variable 'nombre' debe ser inicializada

Una solución es inicializar la variable en otro método:

 class Example { val name: String val lazyVar: String by lazy { initLazyVar() } init { name = "StackOverflow" } private fun initLazyVar(): String { return name + " something else" } } 

Esta técnica funciona, pero ¿hay alguna manera de mantener la compacidad del bloque perezoso en línea en lugar de confiar en una function externa?