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() } } public final fun main(a: R|A|): R|kotlin/Unit| { R|/foo|(R|/a|) lval anonymousA: R|A| = object : R|C| { private constructor(): R|| { super() } } R|/foo|(R|/anonymousA|) }