module Dodge.Combine.Trie where import Data.Bifunctor import Data.List (sort) import Dodge.Combine.Combinations import Dodge.Data.Item import SimpleTrie import Data.Foldable combinationsTrie :: Trie (ItAmount, ItemBaseType) Item {-# INLINE combinationsTrie #-} combinationsTrie = foldl' (flip $ uncurry insertInTrie . first sort) emptyTrie itemCombinations