FILE: delegatingConstructorsAndTypeAliases.kt
    public open class Inv<T, R> : R|kotlin/Any| {
        public constructor<T, R>(x: R|T|, r: R|R|): R|Inv<T, R>| {
            super<R|kotlin/Any|>()
        }

    }
    public final typealias Alias<X> = R|Inv<X, Inv<X, X>>|
    public final class InvImpl : R|{Alias<kotlin/String>=} Inv<kotlin/String, Inv<kotlin/String, kotlin/String>>| {
        public constructor(): R|InvImpl| {
            super<R|{Alias<kotlin/String>=} Inv<kotlin/String, Inv<kotlin/String, kotlin/String>>|>(String(), R|/Inv.Inv|<R|kotlin/String|, R|kotlin/String|>(String(), String()))
        }

    }
