We're avoiding reverse while loops now because it turns out they are pigs on performance in comparison to cached for loops (I was surprised when I saw the numbers).