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 <T> 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|@R|kotlin/ParameterName|(name = String(a))  A| = R|/foo|<R|@R|kotlin/ParameterName|(name = String(a))  A|>(::R|/singleA|, ::R|/multiple|)
        lval a2: R|@R|kotlin/ParameterName|(name = String(a))  B| = R|/foo|<R|@R|kotlin/ParameterName|(name = String(a))  B|>(::R|/singleB|, ::R|/multiple|)
        lval a3: R|@R|kotlin/ParameterName|(name = String(a))  A| = R|/foo|<R|@R|kotlin/ParameterName|(name = String(a))  A|>(::R|/multiple|, ::R|/singleA|)
        lval a4: R|@R|kotlin/ParameterName|(name = String(a))  B| = R|/foo|<R|@R|kotlin/ParameterName|(name = String(a))  B|>(::R|/multiple|, ::R|/singleB|)
        lval a5: R|@R|kotlin/ParameterName|(name = String(a))  A| = R|/foo|<R|@R|kotlin/ParameterName|(name = String(a))  A|>(::R|/singleA|, ::R|/singleA|)
        lval a6: R|it(@R|kotlin/ParameterName|(name = String(a))  A & @R|kotlin/ParameterName|(name = String(a))  B)| = R|/foo|<R|it(@R|kotlin/ParameterName|(name = String(a))  A & @R|kotlin/ParameterName|(name = String(a))  B)|>(::R|/singleA|, ::R|/singleB|)
        R|/foo<CS errors: /foo>#|<<ERROR TYPE REF: Cannot infer argument for type parameter T>>(::<Ambiguity: multiple, [/multiple, /multiple]>#, ::<Ambiguity: multiple, [/multiple, /multiple]>#)
    }
