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

        private final inner class Inner : R|kotlin/Any| {
            public A.constructor(): R|A.Inner| {
                super<R|kotlin/Any|>()
            }

        }

    }
    public final class B : R|kotlin/Any| {
        public constructor(): R|B| {
            super<R|kotlin/Any|>()
        }

        public final typealias AInner = <ERROR TYPE REF: HIDDEN: A.Inner is invisible>

        public final inner class Inner : R|kotlin/Any| {
            public B.constructor(): R|B.Inner| {
                super<R|kotlin/Any|>()
            }

        }

    }
    public final class C : R|kotlin/Any| {
        public constructor(): R|C| {
            super<R|kotlin/Any|>()
        }

        public final typealias BInner = R|B.Inner|

    }
    public final typealias AInner0 = <ERROR TYPE REF: HIDDEN: A.Inner is invisible>
    public final typealias BInner0 = R|B.Inner|
    private final typealias MyString = R|kotlin/String|
    public final fun foo(): R|{MyString=} kotlin/String| {
        ^foo String()
    }
