nextTokenID :: Monad m => StateT GameState m Int
nextTokenID = do
  result <- use nextTokenIDCounter
  nextTokenIDCounter -= 1
  return result
nextTokenID :: Monad m => StateT GameState m Int
nextTokenID = do
  result <- use nextTokenIDCounter
  nextTokenIDCounter -= 1
  return result
nextTokenID = do
  result <- use nextTokenIDCounter
  nextTokenIDCounter -= 1
  return result