Identify neighbours logic. For a given grid and origin, return a list of neighbours
according to the logic of the visitor.
For example, if the visitor is meant to go row-wise
(eg left-to-right, top-to-bottom), there's only one valid neighbour to return: the cell to the right
(or cell at next row when it's time to wrap).
In other cases, the function might return multiple neighbours.
Identify neighbours logic. For a given
gridandorigin, return a list of neighbours according to the logic of the visitor.For example, if the visitor is meant to go row-wise (eg left-to-right, top-to-bottom), there's only one valid neighbour to return: the cell to the right (or cell at next row when it's time to wrap).
In other cases, the function might return multiple neighbours.
Pure function with no internal state.