endTurn :: (Monad m) => StateT GameState m ()
endTurn = do
  pID <- liftM (view currentPlayerID) get
  playerWithID pID.hasPlayedLand .= False
  playerList <- use players
  currentPlayerID .= ((pID + 1) `mod` length playerList)
endTurn :: (Monad m) => StateT GameState m ()
endTurn = do
  pID <- liftM (view currentPlayerID) get
  playerWithID pID.hasPlayedLand .= False
  playerList <- use players
  currentPlayerID .= ((pID + 1) `mod` length playerList)
endTurn = do
  pID <- liftM (view currentPlayerID) get
  playerWithID pID.hasPlayedLand .= False
  playerList <- use players
  currentPlayerID .= ((pID + 1) `mod` length playerList)