sclass OpusMachineIterator extends CloseableShortIterator { OpusMachine machine; *(OpusMachine *machine) { ownResource(machine); } !include #1033023 // Resources mix-in int val = Int.MAX_VALUE; bool hasNext() { if (val == Int.MAX_VALUE) val = machine!; ret val != Int.MIN_VALUE; } short next() { if (!hasNext()) fail("No such element"); var v = val; val = Int.MAX_VALUE; ret (short) v; } }