В изначальном варианте используется аншифт для реверсивного сохранения индексов. Удаляя их с конца можно не волноваться о удалении элементов в цикле. Не?