An iterable is an object, such as a string or collection, that can be iterated over, yielding up its members one at a time.
I would think that Iterator.copy() would be quite a handy function. You could implement iterator filters in a much …