fun bar(f: Int.() -> Unit, i: Int) { with (i) { f() } } Resolved call: Candidate descriptor: operator fun Int.invoke(): Unit defined in kotlin.Function1 Resulting descriptor: operator fun Int.invoke(): Unit defined in kotlin.Function1 Explicit receiver kind = DISPATCH_RECEIVER Dispatch receiver = f {[@kotlin.ExtensionFunctionType] Function1} Extension receiver = IntExt{fun Int.(): Unit defined in bar}