When #17670 lands, we will no longer be able to make Iterator trait objects. The only method on Iterator which is object safe is next, I assume we should therefore pull that out to its own trait and Iterator should extend that, but that means all implementers of Iterator will have to change. So, perhaps there is a better way.
cc @aturon