// ISSUE: KT-64077 fun build(block: InvBuilder.() -> Unit): R1 = TODO() fun build2(block: InvBuilder.() -> Unit): R2 = TODO() class InvBuilder() { fun set(r: R) {} fun get(): R = TODO() } fun consumeInt(e: Int) {} fun test() { val ret = build { set("") build2 { set(1) consumeInt(this@build.get()) // K1 red ARGUMENT_TYPE_MISMATCH, runtime crash K2 } Unit // This unit is essential!!! } }