interface IA { abstract operator fun get(index: String): Int } interface IB { abstract operator fun IA.set(index: String, value: Int) } fun IB.test(a: IA) { { // BLOCK val tmp_0: IA = a val tmp_1: String = "" (, tmp_0).set(index = tmp_1, value = tmp_0.get(index = tmp_1).plus(other = 42)) } }