FILE: questionableSmartCast.kt
    public abstract interface A : R|kotlin/Any| {
    }
    public abstract interface B : R|kotlin/Any| {
    }
    public final fun foo(x: R|A|): R|kotlin/Unit| {
    }
    public final fun foo(x: R|B|): R|kotlin/Unit| {
    }
    public open class C : R|A|, R|B| {
        public constructor(): R|C| {
            super<R|kotlin/Any|>()
        }

    }
    public final fun main(a: R|A|): R|kotlin/Unit| {
        R|/foo|(R|<local>/a|)
        lval anonymousA: R|A| = object : R|C| {
            private constructor(): R|<anonymous>| {
                super<R|C|>()
            }

        }

        R|/foo|(R|<local>/anonymousA|)
    }
