allCards :: (Monad m) => StateT GameState m [Card]
allCards = do
  state <- get
  return $ Map.Lazy.elems (state^.cards)

-- selectCard :: CardID -> [Card] -> Maybe Card
-- selectCard cID cards =
--   let list = filter (\card -> card^.cardID == cID) cards
--   in if null list
--      then Nothing
--      else Just (head list)
allCards :: (Monad m) => StateT GameState m [Card]
allCards = do
  state <- get
  return $ Map.Lazy.elems (state^.cards)

-- selectCard :: CardID -> [Card] -> Maybe Card
-- selectCard cID cards =
--   let list = filter (\card -> card^.cardID == cID) cards
--   in if null list
--      then Nothing
--      else Just (head list)
allCards = do
  state <- get
  return $ Map.Lazy.elems (state^.cards)

-- selectCard :: CardID -> [Card] -> Maybe Card
-- selectCard cID cards =
--   let list = filter (\card -> card^.cardID == cID) cards
--   in if null list
--      then Nothing
--      else Just (head list)