3. Understanding and Implementing Generators and Iterators