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

        public final fun foo(): R|kotlin/Int| {
            ^foo Int(1)
        }

        public final fun R|B|.bar(): R|kotlin/Int| {
            ^bar Int(3)
        }

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

        public final fun foo(): R|kotlin/Int| {
            ^foo Int(2)
        }

        public final fun R|A|.bar(): R|kotlin/Int| {
            ^bar Int(4)
        }

    }
    public final fun test(a: R|A|, b: R|B|): R|kotlin/Unit| {
        R|kotlin/with|<R|B|, R|kotlin/Int|>(R|<local>/b|, <L> = with@fun R|B|.<anonymous>(it: R|B|): R|kotlin/Unit| <kind=EXACTLY_ONCE>  {
            R|kotlin/with|<R|A|, R|kotlin/Int|>(R|<local>/a|, <L> = with@fun R|A|.<anonymous>(it: R|A|): R|kotlin/Unit| <kind=EXACTLY_ONCE>  {
                this@R|/A|.R|/A.foo|()
                (this@R|/B|, this@R|special/anonymous|).R|/B.bar|()
            }
            )
        }
        )
        R|kotlin/with|<R|A|, R|kotlin/Int|>(R|<local>/a|, <L> = with@fun R|A|.<anonymous>(it: R|A|): R|kotlin/Unit| <kind=EXACTLY_ONCE>  {
            R|kotlin/with|<R|B|, R|kotlin/Int|>(R|<local>/b|, <L> = with@fun R|B|.<anonymous>(it: R|B|): R|kotlin/Unit| <kind=EXACTLY_ONCE>  {
                this@R|/B|.R|/B.foo|()
                (this@R|/A|, this@R|special/anonymous|).R|/A.bar|()
            }
            )
        }
        )
    }
