namespace <root>

internal final class MyIterable</*0*/ T : jet.Any?> : jet.Iterable<T> {
    public final /*constructor*/ fun </*0*/ T : jet.Any?><init>(): MyIterable<T>
    internal final class MyIterable.MyIterator : jet.Iterator<T> {
        public final /*constructor*/ fun <init>(): MyIterable.MyIterator
        public open override /*1*/ val hasNext: jet.Boolean
        public open override /*1*/ fun next(): T
    }
    public open override /*1*/ fun iterator(): jet.Iterator<T>
}
internal final class X : jet.Any {
    public final /*constructor*/ fun <init>(): X
    internal final val x: jet.Int
}
internal open class Y : jet.Any {
    public final /*constructor*/ fun <init>(): Y
    internal final val x: jet.Int
}
internal final class Y1 : jet.Any {
    public final /*constructor*/ fun <init>(): Y1
    internal final val x: jet.Int
}
internal final class Z : Y {
    public final /*constructor*/ fun <init>(): Z
    internal final override /*1*/ val x: jet.Int
}
