FILE: upperBoundViolated.kt
    public abstract interface A : R|kotlin/Any| {
    }
    public final class B<T : R|A|> : R|kotlin/Any| {
        public constructor<T : R|A|>(): R|B<T>| {
            super<R|kotlin/Any|>()
        }

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

    }
    public final typealias GGG = R|C|
    public final typealias HHH = R|GGG|
    public final typealias JJJ = R|B<C>|
    public final fun <T : R|A|> fest(): R|kotlin/Unit| {
    }
    public final fun test(): R|kotlin/Unit| {
        lval b1: R|B<kotlin/Int>| = <CS errors: /B.B>#<R|kotlin/Int|>()
        lval b2: R|B<C>| = R|/B.B|<R|C|>()
        lval b3: R|B<kotlin/Any?>| = <CS errors: /B.B>#<R|kotlin/Any?|>()
        lval b4: <ERROR TYPE REF: Unresolved name: NumberPhile> = <CS errors: /B.B>#<<ERROR TYPE REF: Symbol not found for UnexistingType>>().<Unresolved name: NL>#(ERROR_EXPR(No right operand)).<Unresolved name: Int>#(<Call has no callee>#()).<Unresolved name: NumberPhile>#(ERROR_EXPR(No right operand))
        lval b5: R|B<B<ERROR CLASS: Symbol not found for UnexistingType>>| = <CS errors: /B.B>#<R|B<ERROR CLASS: Symbol not found for UnexistingType>|>()
        <CS errors: /fest>#<R|kotlin/Boolean|>()
        R|/fest|<R|C|>()
        R|/fest|<R|C|>()
        <CS errors: /fest>#<R|B<C>|>()
    }
    public open class S<F, G : R|F|> : R|kotlin/Any| {
        public constructor<F, G : R|F|>(): R|S<F, G>| {
            super<R|kotlin/Any|>()
        }

    }
    public final class T<U, Y : R|U|> : R|S<U, Y>| {
        public constructor<U, Y : R|U|>(): R|T<U, Y>| {
            super<R|S<U, Y>|>()
        }

    }
    public final class P<T0 : R|kotlin/Number|, T1> : R|kotlin/Any| {
        public constructor<T0 : R|kotlin/Number|, T1>(): R|P<T0, T1>| {
            super<R|kotlin/Any|>()
        }

    }
    public final class P1<T2 : R|kotlin/Number|, T3 : R|kotlin/Number|> : R|kotlin/Any| {
        public constructor<T2 : R|kotlin/Number|, T3 : R|kotlin/Number|>(): R|P1<T2, T3>| {
            super<R|kotlin/Any|>()
        }

    }
    public final fun <K, L : R|K|> rest(): R|kotlin/Unit| {
        lval o1: R|S<K, L>| = R|/S.S|<R|K|, R|L|>()
        lval o2: R|S<K, K>| = R|/S.S|<R|K|, R|K|>()
        lval o3: R|S<L, L>| = R|/S.S|<R|L|, R|L|>()
        lval o4: R|S<S<K, L>, T<K, L>>| = R|/S.S|<R|S<K, L>|, R|T<K, L>|>()
        lval o5: R|S<S<K, L>, T<K, K>>| = <CS errors: /S.S>#<R|S<K, L>|, R|T<K, K>|>()
        lval o5: R|S<S<L, L>, T<K, L>>| = <CS errors: /S.S>#<R|S<L, L>|, R|T<K, L>|>()
        lval o6: R|S<kotlin/Any, T<S<K, L>, kotlin/String>>| = R|/S.S|<R|kotlin/Any|, R|T<S<K, L>, kotlin/String>|>()
        lval o7: R|S<kotlin/Any, T<S<K, L>, kotlin/Nothing>>| = R|/S.S|<R|kotlin/Any|, R|T<S<K, L>, kotlin/Nothing>|>()
        lval o8: R|P<kotlin/String, P1<kotlin/String, kotlin/String>>| = <CS errors: /P.P>#<R|kotlin/String|, R|P1<kotlin/String, kotlin/String>|>()
    }
    public final class NumColl<T : R|kotlin/collections/Collection<kotlin/Number>|> : R|kotlin/Any| {
        public constructor<T : R|kotlin/collections/Collection<kotlin/Number>|>(): R|NumColl<T>| {
            super<R|kotlin/Any|>()
        }

    }
    public final typealias NL<K> = R|NumColl<kotlin/collections/List<K>>|
    public final val test7: <ERROR TYPE REF: Unresolved name: NumberPhile> = R|/NumColl.NumColl|<R|kotlin/Int|>().<Unresolved name: NumberPhile>#(ERROR_EXPR(No right operand))
        public get(): <ERROR TYPE REF: Unresolved name: NumberPhile>
    public final val test8: R|NumColl<kotlin/collections/List<kotlin/String>>| = R|/NumColl.NumColl|<R|kotlin/String|>()
        public get(): R|NumColl<kotlin/collections/List<kotlin/String>>|
    public final class NumberPhile<T : R|kotlin/Number|> : R|kotlin/Any| {
        public constructor<T : R|kotlin/Number|>(x: R|T|): R|NumberPhile<T>| {
            super<R|kotlin/Any|>()
        }

    }
    public final val np1: R|NumberPhile<kotlin/Int>| = R|/NumberPhile.NumberPhile|<R|kotlin/Int|>(Int(10))
        public get(): R|NumberPhile<kotlin/Int>|
    public final val np2: R|NumberPhile<ERROR CLASS: Cannot infer argument for type parameter T>| = <Inapplicable(INAPPLICABLE): /NumberPhile.NumberPhile>#<R|ERROR CLASS: Cannot infer argument for type parameter T|>(String(Test))
        public get(): R|NumberPhile<ERROR CLASS: Cannot infer argument for type parameter T>|
    public final class Test1<S1 : R|Test1<S1, K>|, K : R|kotlin/Any|> : R|kotlin/Any| {
        public constructor<S1 : R|Test1<S1, K>|, K : R|kotlin/Any|>(): R|Test1<S1, K>| {
            super<R|kotlin/Any|>()
        }

    }
    public final class Test2<S2 : R|Test1<S2, *>|> : R|kotlin/Any| {
        public constructor<S2 : R|Test1<S2, *>|>(): R|Test2<S2>| {
            super<R|kotlin/Any|>()
        }

    }
    public final class Test3<S3 : R|Test3<S3, in K>|, K : R|kotlin/Any|> : R|kotlin/Any| {
        public constructor<S3 : R|Test3<S3, in K>|, K : R|kotlin/Any|>(): R|Test3<S3, K>| {
            super<R|kotlin/Any|>()
        }

    }
    public final class Test4<S4 : R|Test3<S4, out kotlin/Any>|> : R|kotlin/Any| {
        public constructor<S4 : R|Test3<S4, out kotlin/Any>|>(): R|Test4<S4>| {
            super<R|kotlin/Any|>()
        }

    }
    public final class Test5<S5 : R|Test5<S5, in K>|, K : R|kotlin/Any|> : R|kotlin/Any| {
        public constructor<S5 : R|Test5<S5, in K>|, K : R|kotlin/Any|>(): R|Test5<S5, K>| {
            super<R|kotlin/Any|>()
        }

    }
    public final class Test6<S6 : R|Test5<S6, in kotlin/Any>|> : R|kotlin/Any| {
        public constructor<S6 : R|Test5<S6, in kotlin/Any>|>(): R|Test6<S6>| {
            super<R|kotlin/Any|>()
        }

    }
    public final class Test7<S7 : R|Test7<S7, in K>|, K : R|kotlin/CharSequence|> : R|kotlin/Any| {
        public constructor<S7 : R|Test7<S7, in K>|, K : R|kotlin/CharSequence|>(): R|Test7<S7, K>| {
            super<R|kotlin/Any|>()
        }

    }
    public final class Test8<S8 : R|Test7<S8, in kotlin/Any>|> : R|kotlin/Any| {
        public constructor<S8 : R|Test7<S8, in kotlin/Any>|>(): R|Test8<S8>| {
            super<R|kotlin/Any|>()
        }

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

    }
    public final typealias Alias<V1> = R|(Class<V1>) -> kotlin/Boolean|
    public abstract class Base<T : R|Base<T>|> : R|kotlin/Any| {
        public constructor<T : R|Base<T>|>(): R|Base<T>| {
            super<R|kotlin/Any|>()
        }

    }
    public final class DerivedOut<out O : R|Base<out O>|> : R|kotlin/Any| {
        public constructor<out O : R|Base<out O>|>(): R|DerivedOut<O>| {
            super<R|kotlin/Any|>()
        }

    }
    public final class DerivedIn<in I : R|Base<in I>|> : R|kotlin/Any| {
        public constructor<in I : R|Base<in I>|>(): R|DerivedIn<I>| {
            super<R|kotlin/Any|>()
        }

    }
