FILE: multipleImplicitReceivers.kt public final object A : R|kotlin/Any| { private constructor(): R|A| { super() } } public final object B : R|kotlin/Any| { private constructor(): R|B| { super() } } public abstract interface IFoo : R|kotlin/Any| { public open val R|A|.foo: R|B| public get(): R|B| { ^ Q|B| } } public abstract interface IInvoke : R|kotlin/Any| { public open operator fun R|B|.invoke(): R|kotlin/Int| { ^invoke Int(42) } } public final fun test(fooImpl: R|IFoo|, invokeImpl: R|IInvoke|): R|kotlin/Unit| { R|kotlin/with|(Q|A|, = with@fun R|A|.(): R|kotlin/Int| { ^ R|kotlin/with|(R|/fooImpl|, = with@fun R|IFoo|.(): R|kotlin/Int| { (this@R|special/anonymous|, this@R|special/anonymous|).R|/IFoo.foo| ^ R|kotlin/with|(R|/invokeImpl|, = with@fun R|IInvoke|.(): R|kotlin/Int| { ^ (this@R|special/anonymous|, (this@R|special/anonymous|, this@R|special/anonymous|).R|/IFoo.foo|).R|/IInvoke.invoke|() } ) } ) } ) }