FILE: eagerAndPostponedCallableReferences.kt public abstract interface A : R|kotlin/Any| { } public abstract interface B : R|kotlin/Any| { } public final fun multiple(a: R|A|): R|kotlin/Unit| { } public final fun multiple(b: R|B|): R|kotlin/Unit| { } public final fun singleA(a: R|A|): R|kotlin/Unit| { } public final fun singleB(a: R|B|): R|kotlin/Unit| { } public final fun foo(f: R|(T) -> kotlin/Unit|, g: R|(T) -> kotlin/Unit|): R|T| { ^foo R|kotlin/TODO|() } public final fun test(): R|kotlin/Unit| { lval a1: R|A| = R|/foo|(::R|/singleA|, ::R|/multiple|) lval a2: R|B| = R|/foo|(::R|/singleB|, ::R|/multiple|) lval a3: R|A| = R|/foo|(::R|/multiple|, ::R|/singleA|) lval a4: R|B| = R|/foo|(::R|/multiple|, ::R|/singleB|) lval a5: R|A| = R|/foo|(::R|/singleA|, ::R|/singleA|) lval a6: R|it(A & B)| = R|/foo|(::R|/singleA|, ::R|/singleB|) R|/foo#|<>(::#, ::#) }