object Host { val String.plusK: String /* by */ field = (, "K").provideDelegate(host = , p = Host::plusK) get(): String { return .#plusK$delegate.getValue(receiver = , p = Host::plusK) } val ok: String field = (, "O").() get class StringDelegate { val s: String field = s get constructor(s: String) /* primary */ { super/*Any*/() /* () */ } operator fun getValue(receiver: String, p: Any): String { return receiver.plus(other = .()) } } private constructor() /* primary */ { super/*Any*/() /* () */ } operator fun String.provideDelegate(host: Any?, p: Any): StringDelegate { return StringDelegate(s = ) } }