It occurs to me that if we track this ourselves in the for loop we make the usage here compatible with arbitrary iterable objects in some future.