FILE: multipleOutersAndMultipleCallableReferences.kt
    public abstract interface Base : R|kotlin/Any| {
    }
    public final class Inv<K> : R|Base| {
        public constructor<K>(): R|Inv<K>| {
            super<R|kotlin/Any|>()
        }

    }
    public final fun foo(x: R|kotlin/Int|): R|Inv<kotlin/Int>| {
        ^foo R|kotlin/TODO|()
    }
    public final fun foo(y: R|kotlin/String|): R|Inv<kotlin/String>| {
        ^foo R|kotlin/TODO|()
    }
    public final fun <T, R : R|kotlin/Number|> bar(f: R|(T) -> Inv<R>|, p: R|kotlin/String| = String()): R|kotlin/Unit| {
    }
    public final fun <T, R : R|Base|> bar(f: R|(T) -> Inv<R>|, p: R|kotlin/Int| = Int(4)): R|kotlin/Unit| {
    }
    public final fun test(): R|kotlin/Unit| {
        R|/bar|<R|@R|kotlin/ParameterName|(name = String(x))  kotlin/Int|, R|kotlin/Int|>(::R|/foo|)
    }
