meState :: WriterT Output IO GameState
mkGameState = do
  ps <- mkPlayer
  return $ GS { player_state = ps,
                fight_state = Nothing,
                page_state = Map.empty}

mk
mkGameState :: WriterT Output IO GameState
mkGameState = do
  ps <- mkPlayer
  return $ GS { player_state = ps,
                fight_state = Nothing,
                page_state = Map.empty}
mkGameState = do
  ps <- mkPlayer
  return $ GS { player_state = ps,
                fight_state = Nothing,
                page_state = Map.empty}