<font color='black' size='2' face='arial'>I would like to create a game with a "main menu" offering the user a choice of "playing the game" or accessing a "settings menu," in which he can change defaults that would affect the game play (e.g. board size, etc.).<br>
<br>
I know (barely) enough about the "IO monad" to write the menus and the basic gameplay, but what device do I need in order to manage the settings? A State monad? A StateT monad transformer? An ST monad?<font size="2"> None of the above?</font> I have some basic familiarity with the first two, but not enough to really grasp how they are actually used.</font>