FILE: postponedResolveOfManyCallableReference.kt
    public abstract interface A : R|kotlin/Any| {
    }
    public abstract interface B : R|kotlin/Any| {
    }
    public final fun foo(i: R|A|): R|kotlin/Unit| {
    }
    public final fun foo(b: R|B|): R|kotlin/Unit| {
    }
    public final fun <T> bar1(f: R|(T) -> kotlin/Unit|): R|T| {
        ^bar1 R|kotlin/TODO|()
    }
    public final fun <T> bar2(f: R|(T) -> kotlin/Unit|, e: R|T|): R|kotlin/Unit| {
    }
    public final fun test(a: R|A|, b: R|B|): R|kotlin/Unit| {
        lval expectedType1: R|A| = R|/bar1|<R|A|>(::R|/foo|)
        lval expectedType2: R|B| = R|/bar1|<R|B|>(::R|/foo|)
        R|/bar2|<R|A|>(::R|/foo|, R|<local>/a|)
        R|/bar2|<R|B|>(::R|/foo|, R|<local>/b|)
    }
