How about: type GameGUI = StateT GameGUIState IO