Improved Iterator implementation - Let the Garbage Collector collect intermediate sequences as the iterator progresses