FILE: implicitTypes.kt
    public final fun <T, R> use(x: R|(T) -> R|): R|(T) -> R| {
        ^use R|<local>/x|
    }
    public final fun foo(): R|(kotlin/String) -> kotlin/Int| {
        ^foo R|/use|<R|kotlin/String|, R|kotlin/Int|>(::R|/bar|)
    }
    public final fun bar(x: R|kotlin/String|): R|kotlin/Int| {
        ^bar Int(1)
    }
    public final fun loop1(): R|(kotlin/Any?) -> kotlin/Nothing| {
        ^loop1 <Inapplicable(INAPPLICABLE): /use>#<R|kotlin/Any?|, R|kotlin/Nothing|>(::<Unresolved reference: loop2>#)
    }
    public final fun loop2(): R|ERROR CLASS: cycle| {
        ^loop2 R|/loop1|()
    }
