I took advantage of the previous changes of the GameState data type to greatly refactor the Main.hs game.  This involved moving all the drawing logic to a single call to drawGameState.  This allowed the main game logic loop to be decreased in size a great deal.