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 tmp0_array: IA = a val tmp1_index0: String = "" (, tmp0_array).set(index = tmp1_index0, value = tmp0_array.get(index = tmp1_index0).plus(other = 42)) } }