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

        public final operator fun get(index: R|kotlin/Int|): R|T| {
            ^get Null(null)!!
        }

        public final operator fun set(index: R|kotlin/Int|, value: R|T|): R|kotlin/Unit| {
        }

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

        public final operator fun plusAssign(other: R|B|): R|kotlin/Unit| {
        }

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

        public final operator fun plus(other: R|C|): R|C| {
            ^plus this@R|/C|
        }

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

        public final operator fun plusAssign(other: R|D|): R|kotlin/Unit| {
        }

        public final operator fun plus(other: R|D|): R|D| {
            ^plus this@R|/D|
        }

    }
    public final fun test_1(a: R|A<B>|): R|kotlin/Unit| {
        R|<local>/a|.R|SubstitutionOverride</A.get: R|B|>|(Int(0)).R|/B.plusAssign|(R|/B.B|())
    }
    public final fun test_2(a: R|A<C>|): R|kotlin/Unit| {
         {
            lval <array>: R|A<C>| = R|<local>/a|
            lval <index_0>: R|kotlin/Int| = Int(0)
            R|<local>/<array>|.R|SubstitutionOverride</A.set: R|kotlin/Unit|>|(R|<local>/<index_0>|, R|<local>/<array>|.R|SubstitutionOverride</A.get: R|C|>|(R|<local>/<index_0>|).R|/C.plus|(R|/C.C|()))
        }

    }
    public final fun test_3(a: R|A<D>|): R|kotlin/Unit| {
        R|<local>/a|.R|SubstitutionOverride</A.get: R|D|>|(Int(0)).<Operator overload ambiguity. Compatible candidates: [/D.plusAssign, /A.set]>#(R|/D.D|())
    }
    public final fun test_4(b: R|B|): R|kotlin/Unit| {
        R|<local>/b|.<Unresolved name: get>#(Int(0)).<Unresolved name: +=>#(R|/B.B|())
    }
