namespace <root>

internal abstract class AmbiguousHasNextIterator : jet.Any {
    public final /*constructor*/ fun <init>(): AmbiguousHasNextIterator
    internal abstract fun hasNext(): jet.Boolean
    internal final val hasNext: jet.Boolean
    internal abstract fun next(): jet.Int
}
internal abstract class GoodIterator : jet.Any {
    public final /*constructor*/ fun <init>(): GoodIterator
    internal abstract fun hasNext(): jet.Boolean
    internal abstract fun next(): jet.Int
}
internal abstract class ImproperIterator1 : jet.Any {
    public final /*constructor*/ fun <init>(): ImproperIterator1
    internal abstract fun hasNext(): jet.Boolean
}
internal abstract class ImproperIterator2 : jet.Any {
    public final /*constructor*/ fun <init>(): ImproperIterator2
    internal abstract fun next(): jet.Boolean
}
internal abstract class ImproperIterator3 : jet.Any {
    public final /*constructor*/ fun <init>(): ImproperIterator3
    internal abstract fun hasNext(): jet.Int
    internal abstract fun next(): jet.Int
}
internal abstract class ImproperIterator4 : jet.Any {
    public final /*constructor*/ fun <init>(): ImproperIterator4
    internal final val hasNext: jet.Int
    internal abstract fun next(): jet.Int
}
internal abstract class ImproperIterator5 : jet.Any {
    public final /*constructor*/ fun <init>(): ImproperIterator5
    internal abstract val jet.String.hasNext: jet.Boolean
    internal abstract fun next(): jet.Int
}
internal final class NotRange1 : jet.Any {
    public final /*constructor*/ fun <init>(): NotRange1
}
internal abstract class NotRange2 : jet.Any {
    public final /*constructor*/ fun <init>(): NotRange2
    internal abstract fun iterator(): jet.Tuple0
}
internal abstract class NotRange3 : jet.Any {
    public final /*constructor*/ fun <init>(): NotRange3
    internal abstract fun iterator(): ImproperIterator1
}
internal abstract class NotRange4 : jet.Any {
    public final /*constructor*/ fun <init>(): NotRange4
    internal abstract fun iterator(): ImproperIterator2
}
internal abstract class NotRange5 : jet.Any {
    public final /*constructor*/ fun <init>(): NotRange5
    internal abstract fun iterator(): ImproperIterator3
}
internal abstract class NotRange6 : jet.Any {
    public final /*constructor*/ fun <init>(): NotRange6
    internal abstract fun iterator(): AmbiguousHasNextIterator
}
internal abstract class NotRange7 : jet.Any {
    public final /*constructor*/ fun <init>(): NotRange7
    internal abstract fun iterator(): ImproperIterator3
}
internal abstract class NotRange8 : jet.Any {
    public final /*constructor*/ fun <init>(): NotRange8
    internal abstract fun iterator(): ImproperIterator5
}
internal abstract class Range0 : jet.Any {
    public final /*constructor*/ fun <init>(): Range0
    internal abstract fun iterator(): GoodIterator
}
internal abstract class Range1 : jet.Any {
    public final /*constructor*/ fun <init>(): Range1
    internal abstract fun iterator(): java.util.Iterator<jet.Int>
}
internal final fun test(/*0*/ notRange1: NotRange1, /*1*/ notRange2: NotRange2, /*2*/ notRange3: NotRange3, /*3*/ notRange4: NotRange4, /*4*/ notRange5: NotRange5, /*5*/ notRange6: NotRange6, /*6*/ notRange7: NotRange7, /*7*/ notRange8: NotRange8, /*8*/ range0: Range0, /*9*/ range1: Range1): jet.Tuple0
