Let me teach you to break a Python law.
Iterators can only be traversed once:
```py
squares = (x ** 2 for x in range(3))
for sq in squares:
print(sq, end=", ")
# 0, 1, 4,
for sq in squares:
print(sq, end=", ")
# <no output>
```
The second loop produces no output!
