Thinking about Alek's swapping-question I have come over a situation where one cannot nest (forEach) because there is no way of specifying which level’s value (site) is supposed to refer to. Here is the relevant define in the attached example:
Shouldn’t there be a way of referring to different levels inside a context like this one?
Code:
(define "SwapAdjacentEnemy"
(forEach Site
(sites Occupied by:Mover)
(forEach Site
(sites Around (site) Enemy Orthogonal)
(move Swap Pieces
(site)
(site)
)
)
)
)