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