Só faltou um comentário final aqui:
No começo do uso do FOR EACH, usar :__EnumIndex me parecia que era algo só pra complicar.
Com o tempo, achei até legal pra evitar variável adicional e me acostumei com ele.
Ele substitui o tradicional nCont, quando precisamos dele.
FOR nCont = 1 TO Len( aArray )
? nCont, aArray[ nCont ]
NEXT
FOR EACH oElement IN aArray
? oElement:__EnumIndex, oElement
NEXT
Numa rotina pequena como a acima parece complicar algo simples.
Mas em rotinas gigantescas, NÃO usar FOR EACH e :_EnumIndex é que faz complicar.
Levei um tempinho pra considerar isso como vantagem, deve acontecer o mesmo com todos.
É só questão de lembrar que isso existe, e começar a usar quando surgir oportunidade.