class A { fun dynamic.foo() {} } fun bar(a: A, b: dynamic) { with (a) { b.foo() } } Resolved call: Resulting descriptor: fun dynamic.foo(): Unit defined in A Explicit receiver kind = EXTENSION_RECEIVER Dispatch receiver = AExt{fun A.(): Unit defined in bar} Extension receiver = b {('Nothing'..'Any?')}