1 2 3 4 5 6
eval :: GmState -> [GmState] eval state = state: restStates where restStates | gmFinal state = [] | otherwise = eval nextState nextState = doAdmin (step state)