pub fn move_next(&mut self) {
        match self.current.take() {
            // We had no current element; the cursor was sitting at the start position
            // Next element should be the head of the list
            None => {
                self.current = self.list.head;
                self.index = 0;
            }
            // We had a previous element, so let's go to its next
            Some(current) => unsafe {
                self.current = current.as_ref().next;
                self.index += 1;
            },
        }
    }
Returns a reference to the previous element.

If the cursor is pointing to the "ghost" non-element then this returns
the last element of the `LinkedList`. If it is pointing to the first
element of the
benchmarks/haystacks/code/rust-library.rs