Currently, the RandomAccessIterator provides method to borrow an element at a random Index. But if one want to restart an iterator at a random index, one must use skip(), which is basically O(n), even if the underlying type provides random access.
Either an “seek()” method for mutable RAM iterator, either a iter_at() for Clonable or iter_at_by_ref() could be useful.
I believe the longterm plan is to wait for better specialization support so that skip can be implemented effeciently on all RandomAccessIterators uniformly.