FILE: simpleMostSpecific.kt public abstract interface A : R|kotlin/Any| { public abstract val x: R|kotlin/CharSequence| public get(): R|kotlin/CharSequence| public abstract fun foo(): R|kotlin/String?| public abstract fun bar(x: R|T|, y: R|F|): R|F?| } public abstract interface B : R|kotlin/Any| { public abstract var x: R|kotlin/String| public get(): R|kotlin/String| public set(value: R|kotlin/String|): R|kotlin/Unit| public abstract fun foo(): R|kotlin/String| public abstract fun bar(x: R|X|, y: R|Y|): R|Y| } public abstract interface C : R|kotlin/Any| { public abstract val x: R|kotlin/String| public get(): R|kotlin/String| } public abstract interface D1 : R|A|, R|B| { } public abstract interface D2 : R|B|, R|A| { } public abstract interface D3 : R|A|, R|C| { } public final fun main(d1: R|D1|, d2: R|D2|, d3: R|D3|): R|kotlin/Unit| { R|/d1|.R|/B.x|.R|/checkType|( = checkType@fun R|CheckTypeInv|.(): R|kotlin/Unit| { this@R|special/anonymous|.R|/_|() } ) R|/d1|.R|/B.x| = String() R|/d1|.R|/B.foo|().R|/checkType|( = checkType@fun R|CheckTypeInv|.(): R|kotlin/Unit| { this@R|special/anonymous|.R|/_|() } ) R|/d1|.R|/B.bar|(Int(1), String()).R|/checkType|( = checkType@fun R|CheckTypeInv|.(): R|kotlin/Unit| { this@R|special/anonymous|.R|/_|() } ) R|/d2|.R|/B.x|.R|/checkType|( = checkType@fun R|CheckTypeInv|.(): R|kotlin/Unit| { this@R|special/anonymous|.R|/_|() } ) R|/d2|.R|/B.x| = String() R|/d2|.R|/B.foo|().R|/checkType|( = checkType@fun R|CheckTypeInv|.(): R|kotlin/Unit| { this@R|special/anonymous|.R|/_|() } ) R|/d2|.R|/B.bar|(Int(1), String()).R|/checkType|( = checkType@fun R|CheckTypeInv|.(): R|kotlin/Unit| { this@R|special/anonymous|.R|/_|() } ) R|/d3|.R|/C.x|.R|/checkType|( = checkType@fun R|CheckTypeInv|.(): R|kotlin/Unit| { this@R|special/anonymous|.R|/_|() } ) R|/d3|.R|/C.x| = String() R|/d3|.R|/A.foo|().R|/checkType|( = checkType@fun R|CheckTypeInv|.(): R|kotlin/Unit| { this@R|special/anonymous|.R|/_|() } ) R|/d3|.R|/A.bar|(Int(1), String()).R|/checkType|( = checkType@fun R|CheckTypeInv|.(): R|kotlin/Unit| { this@R|special/anonymous|.R|/_|() } ) }