Ok, I just decided that just like human lawbreakers, such lawbreaking iterators should be put in chains. Literally. So that they can’t illegally continue after their stoppage. Like:
from itertools import batched, chain
for batch in batched(chain(BrokenIterator()), 5):
print(batch)