Along the same lines as these should be bi-directional, why can't this just be a `VecIterator` with some various bounds?