class TestSequence is Sequence { construct new() {} iterate(iterator) { if (iterator == null) return 1 if (iterator == 3) return false return iterator + 1 } iteratorValue(iterator) { iterator } } var test = TestSequence.new().skip(0) System.print(test is Sequence) // expect: true System.print(test) // expect: instance of SkipSequence // Skipping 0 changes nothing. System.print(test.toList) // expect: [1, 2, 3] // Skipping 1 works. System.print(test.skip(1).toList) // expect: [2, 3] // Skipping more than length of sequence produces empty list. System.print(test.skip(4).isEmpty) // expect: true