One thing of roughly this nature is that a lot of rust code that I have read have their own types for iterators of objects.
For example, in the git2 crate there is both:
https://docs.rs/git2/0.13.12/git2/struct.Branch.html
and
https://docs.rs/git2/0.13.12/git2/struct.Branches.html
Where Branches implements Iterator.