open class C

object O : C()

object K : C()

class D(val value: String) {
    operator fun getValue(thisRef: C, property: Any): String = value
}

val O.prop by D("O")
val K.prop by D("K")

fun box() = O.prop + K.prop
