Alexander Ioffe
MyDelegateValue
class MyDelegateValue<T>(private val inner: suspend () -> T) { operator fun getValue(t: T?, property: KProperty<*>): T = ... }