handleCombos :: TileMap -> (BoardState, Board a) -> (BoardState, Board a)
handleCombos m (st, b) = (bulkUpdate2D Vanishing (map fst gatheredTiles) st,
                          foldr updateLogic b gatheredTiles)
  where
    gatheredTiles = gatherCombos 3 st

    updateLogic :: Combo -> Board a -> Board a
    updateLogic (loc, color) = update2D (vanishing m color) loc
handleCombos :: TileMap -> (BoardState, Board a) -> (BoardState, Board a)
handleCombos m (st, b) = (bulkUpdate2D Vanishing (map fst gatheredTiles) st,
                          foldr updateLogic b gatheredTiles)
  where
    gatheredTiles = gatherCombos 3 st

    updateLogic :: Combo -> Board a -> Board a
    updateLogic (loc, color) = update2D (vanishing m color) loc
handleCombos m (st, b) = (bulkUpdate2D Vanishing (map fst gatheredTiles) st,
                          foldr updateLogic b gatheredTiles)
  where
    gatheredTiles = gatherCombos 3 st

    updateLogic :: Combo -> Board a -> Board a
    updateLogic (loc, color) = update2D (vanishing m color) loc