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

        public final companion object Companion : R|kotlin/Any| {
            private constructor(): R|C.Companion| {
                super<R|kotlin/Any|>()
            }

            public final operator fun <K> of(vararg ks: R|kotlin/Array<out K>|): R|C<K>| {
                ^of R|/C.C|<R|K|>()
            }

            public final fun <G> nullable(): R|C<G>?| {
                ^nullable R|/C.C|<R|G|>()
            }

            public final fun <J> regular(): R|C<J>| {
                ^regular R|/C.C|<R|J|>()
            }

        }

    }
    public final typealias D<U> = R|C<U>?|
    public final fun expectNullable(arg: R|C<kotlin/String>?|): R|kotlin/Unit| {
    }
    public final fun <K> expectNullableGeneric(arg: R|C<K>?|): R|kotlin/Unit| {
    }
    public final fun <L> expectThroughTypealias(arg: R|{D<L>=} C<L>?|): R|kotlin/Unit| {
    }
    public final fun <H> expectThroughTV(a: R|H|, b: R|H|): R|kotlin/Unit| {
    }
    public final fun <I> expectThroughNullableTV(a: R|I|, b: R|I?|): R|kotlin/Unit| {
    }
    public final fun test(): R|kotlin/Unit| {
        R|/expectNullable|(Q|C.Companion|.R|/C.Companion.of|<R|kotlin/String|>())
        R|/expectNullable|(Q|C.Companion|.R|/C.Companion.of|<R|kotlin/String|>(vararg(String(42))))
        R|/expectNullable<Inapplicable(INAPPLICABLE): /expectNullable>#|(Q|C.Companion|.R|/C.Companion.of<Inapplicable(INAPPLICABLE): /C.Companion.of>#|<R|kotlin/String|>(vararg(Int(42))))
        R|/expectNullableGeneric<CS errors: /expectNullableGeneric>#|<<ERROR TYPE REF: Cannot infer argument for type parameter K>>(Q|C.Companion|.R|/C.Companion.of|<<ERROR TYPE REF: Cannot infer argument for type parameter K>>())
        R|/expectNullableGeneric|<R|kotlin/String|>(Q|C.Companion|.R|/C.Companion.of|<R|kotlin/String|>(vararg(String(42))))
        R|/expectNullableGeneric|<R|it(kotlin/Comparable<*> & java/io/Serializable)|>(Q|C.Companion|.R|/C.Companion.of|<R|it(kotlin/Comparable<*> & java/io/Serializable)|>(vararg(Int(42), String(42))))
        R|/expectNullableGeneric|<R|kotlin/String|>(Q|C.Companion|.R|/C.Companion.of|<R|kotlin/String|>())
        R|/expectThroughTypealias|<R|kotlin/Int|>(Q|C.Companion|.R|/C.Companion.of|<R|kotlin/Int|>(vararg(Int(42))))
        R|/expectThroughTypealias|<R|it(kotlin/Comparable<*> & java/io/Serializable)|>(Q|C.Companion|.R|/C.Companion.of|<R|it(kotlin/Comparable<*> & java/io/Serializable)|>(vararg(Int(42), String(42))))
        R|/expectThroughTypealias|<R|kotlin/String|>(Q|C.Companion|.R|/C.Companion.of|<R|kotlin/String|>())
        R|/expectThroughTypealias<Inapplicable(INAPPLICABLE): /expectThroughTypealias>#|<R|kotlin/String|>(Q|C.Companion|.R|/C.Companion.of<Inapplicable(INAPPLICABLE): /C.Companion.of>#|<R|kotlin/String|>(vararg(Int(42))))
        R|/expectThroughTV|<R|C<kotlin/Int>?|>(Q|C|.R|/C.Companion.nullable|<R|kotlin/Int|>(), Q|C.Companion|.R|/C.Companion.of|<R|kotlin/Int|>(vararg(Int(42))))
        R|/expectThroughTV|<R|C<kotlin/Int>?|>(Q|C|.R|/C.Companion.nullable|<R|kotlin/Int|>(), Q|C.Companion|.R|/C.Companion.of|<R|kotlin/Int|>(vararg(Int(42))))
        R|/expectThroughTV|<R|C<out it(kotlin/Comparable<*> & java/io/Serializable)>?|>(Q|C|.R|/C.Companion.nullable|<R|kotlin/String|>(), Q|C.Companion|.R|/C.Companion.of|<R|kotlin/Int|>(vararg(Int(42))))
        R|/expectThroughTV|<R|C<kotlin/String>?|>(Q|C|.R|/C.Companion.nullable|<R|kotlin/String|>(), Q|C.Companion|.R|/C.Companion.of|<R|kotlin/String|>())
        R|/expectThroughNullableTV|<R|C<kotlin/Int>|>(Q|C|.R|/C.Companion.regular|<R|kotlin/Int|>(), Q|C.Companion|.R|/C.Companion.of|<R|kotlin/Int|>(vararg(Int(42))))
        R|/expectThroughNullableTV|<R|C<kotlin/Int>|>(Q|C|.R|/C.Companion.regular|<R|kotlin/Int|>(), Q|C.Companion|.R|/C.Companion.of|<R|kotlin/Int|>(vararg(Int(42))))
        R|/expectThroughNullableTV|<R|C<out it(kotlin/Comparable<*> & java/io/Serializable)>|>(Q|C|.R|/C.Companion.regular|<R|kotlin/String|>(), Q|C.Companion|.R|/C.Companion.of|<R|kotlin/Int|>(vararg(Int(42))))
        R|/expectThroughNullableTV|<R|C<kotlin/String>|>(Q|C|.R|/C.Companion.regular|<R|kotlin/String|>(), Q|C.Companion|.R|/C.Companion.of|<R|kotlin/String|>())
    }
