Your second loop does nothing. Why?
transcript
You loop over your orders. Eleven orders. Great. You run the same loop again. Zero orders. No error. No warning. Just nothing.
An iterable is the history. You can start any number of walks. An iterator is one walk in progress. It only moves forward. At the end, it's finished. It doesn't rewind. That is why the second loop finds nothing to do.
Loop over the history: 11 orders. Loop over the history again: 11 orders. Loop over the first iterator again: zero. That walk was used up.
The fix is to keep the iterable, not the iterator. Start a new walk every time you need one. The history can make as many walkers as you like. If a function loops twice, make it take the iterable.
An iterator is one walk. Storing one and looping twice is a classic bug. Need two loops? Keep the iterable.
Full breakdown in the lecture.