4K7I3AJQDM4TLBF45D5FTFH2STCRYVQJQSPDI3UW4TEIW33AAYNQC R $let newCard = mkCard cardname initialCategory initialCopiesin Map.alter( \caseNothing -> Just newCardJust x ->Just $over(categories . ix (toText initialCategory) . copies)(uncheckedAdd initialCopies)x)(toText cardname)$ unR decklist
R $ Map.alter updateCard (toText cardname) $ unR decklistwhereupdateCard = \caseNothing -> Just $ mkCard cardname initialCategory initialCopiesJust x ->case x ^? categories . ix (toText initialCategory) ofNothing ->pure $x& categories . at (toText initialCategory)?~ Category initialCategory initialCopiesJust y ->let mergedCategory = (y & copies %~ uncheckedAdd initialCopies)in pure $ x & categories . at (toText initialCategory) ?~ mergedCategory