I believe id's are returned from twitter in reverse order - that's why `max_id` was set to the previous `since_id`. That's certainly true for tweet id's, not so sure about user ids??. I think the current code is ok if you don't pass `since_id` to the iterator.

It may be that the logic fails when `since_id` is passed. I'm afraid my production code uses a pages iterator for this (with the `followers_ids` endpoint), so I've not tested the `IdIterator`. Incidentally, it's very handy to use the `PageIterator`, as it allows me to pause between api calls (to wait for my call limit to be renewed if it runs out).