removeFullRowsFromBoard :: Game ()
removeFullRowsFromBoard = do
  brd <- gets board
  let fullRows = scanFullRows brd
  when (not $ null fullRows) $ do addRowsToCount $ length fullRows                                  
                                  setBoard $ removeRows brd fullRows
    
-- | Takes a board and a list of y-indexed rows, then returns a board
  -- without those rows (padded with Nothings on top)
removeFullRowsFromBoard :: Game ()
removeFullRowsFromBoard = do
  brd <- gets board
  let fullRows = scanFullRows brd
  when (not $ null fullRows) $ do addRowsToCount $ length fullRows                                  
                                  setBoard $ removeRows brd fullRows
    
-- | Takes a board and a list of y-indexed rows, then returns a board
  -- without those rows (padded with Nothings on top)
removeFullRowsFromBoard = do
  brd <- gets board
  let fullRows = scanFullRows brd
  when (not $ null fullRows) $ do addRowsToCount $ length fullRows                                  
                                  setBoard $ removeRows brd fullRows
    
-- | Takes a board and a list of y-indexed rows, then returns a board
  -- without those rows (padded with Nothings on top)