Module: a
FILE: a.kt
    public final typealias Foo<T> = R|kotlin/collections/List<kotlin/String>|
    public final class C<T> : R|kotlin/Any| {
        public constructor<T>(): R|C<T>| {
            super<R|kotlin/Any|>()
        }

        public final val foo: R|{Foo<T>?=} kotlin/collections/List<kotlin/String>?| = Null(null)
            public get(): R|{Foo<T>?=} kotlin/collections/List<kotlin/String>?|

    }
Module: b
FILE: b.kt
    public final val bar: R|{Foo<kotlin/Int>?=} kotlin/collections/List<kotlin/String>?| = R|/C.C|<R|kotlin/Int|>().R|SubstitutionOverride</C.foo: R|{Foo<kotlin/Int>?=} kotlin/collections/List<kotlin/String>?|>|
        public get(): R|{Foo<kotlin/Int>?=} kotlin/collections/List<kotlin/String>?|
    public final fun box(): R|kotlin/String| {
        ^box String(OK)
    }
