Anyway, it’s a pleasant learning technique because you can hold constant all the delicate logic (already debugged) and focus, laser-like, on the side effects, the different project/compiler practices, etc. Website, single-page web app, Node app, web service… telephone answering machine? robo-caller dialing random numbers and asking whoever answers for the next move?.
One fun way to proceed is to employ that functional element in not one, but a whole series of interactive experiences.
Your transformer from one game state to the next: splendid! It’s done! Don’t overdress it.