The game engine has two implementation. One uses step functions, the other uses tail recursion. The step function implementation is about 150ms slower per turn than the tail recursion. To streamline the code, the step function version should be removed.