FILE: properties.kt
    public final class A : R|kotlin/Any| {
        public constructor(): R|A| {
            super<R|kotlin/Any|>()
        }

        public final val bar: R|kotlin/Int| = Int(1)
            public get(): R|kotlin/Int|

    }
    public final val bar: R|kotlin/Int| = Int(1)
        public get(): R|kotlin/Int|
    public final val R|A|.baz: R|kotlin/Int|
        public get(): R|kotlin/Int| {
            ^ Int(1)
        }
    public final fun foo1(x: R|() -> kotlin/Int|): R|kotlin/Unit| {
    }
    public final fun foo2(x: R|(A) -> kotlin/Int|): R|kotlin/Unit| {
    }
    public final fun <R> foo3(x: R|() -> R|): R|kotlin/Unit| {
    }
    public final fun <T, R> foo4(x: R|(T) -> R|): R|kotlin/Unit| {
    }
    public final fun main(): R|kotlin/Unit| {
        R|/foo1|(::R|/bar|)
        R|/foo2|(Q|A|::R|/A.bar|)
        R|/foo2|(Q|A|::R|/baz|)
        R|/foo3|<R|kotlin/Int|>(::R|/bar|)
        R|/foo4|<R|A|, R|kotlin/Int|>(Q|A|::R|/A.bar|)
        R|/foo4|<R|A|, R|kotlin/Int|>(Q|A|::R|/baz|)
    }
