There is a 'redo', which will redo the current loop. However, moving backwards an index is ... odd. Why would you want to? You've already seen it, you could could keep track of it in another data structure.
My criteria for good software:
Does it work?
Can someone else come in, make a change, and be reasonably certain no bugs were introduced?