FILE: multipleImplicitReceivers.kt
    public final object A : R|kotlin/Any| {
        private constructor(): R|A| {
            super<R|kotlin/Any|>()
        }

    }
    public final object B : R|kotlin/Any| {
        private constructor(): R|B| {
            super<R|kotlin/Any|>()
        }

    }
    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|<R|A|, R|kotlin/Int|>(Q|A|, <L> = with@fun R|A|.<anonymous>(): R|kotlin/Int| <inline=Inline, kind=EXACTLY_ONCE>  {
            ^ R|kotlin/with|<R|IFoo|, R|kotlin/Int|>(R|<local>/fooImpl|, <L> = with@fun R|IFoo|.<anonymous>(): R|kotlin/Int| <inline=Inline, kind=EXACTLY_ONCE>  {
                (this@R|special/anonymous|, this@R|special/anonymous|).R|/IFoo.foo|
                ^ R|kotlin/with|<R|IInvoke|, R|kotlin/Int|>(R|<local>/invokeImpl|, <L> = with@fun R|IInvoke|.<anonymous>(): R|kotlin/Int| <inline=Inline, kind=EXACTLY_ONCE>  {
                    ^ (this@R|special/anonymous|, (this@R|special/anonymous|, this@R|special/anonymous|).R|/IFoo.foo|).R|/IInvoke.invoke|()
                }
                )
            }
            )
        }
        )
    }
