śĪeś^nO      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN Trustworthy 1234=JKM,OThe O, class provides generic implementations of P[. This class is separate due to its implementation varying for diferent kinds of metadata.dTrieKey operations on Generic representations used to provide the default implementations of tries. =Mapping of generic representation of keys to trie structures. Tries indexed by  $ will be represented as an ordinary Q- and the keys will be compared based on the R instance for k.A map from keys of type k, to values of type a. The default implementation of a  is   wrapped in a S. This wrapping is due to the  ‹ being a non-empty trie allowing all the of the "emptiness" to be represented at the top level for any given generically implemented key.'Types that may be used as the key of a .For dataA delcarations, the instance can be automatically derived from a T instance.1Type of the representation of tries for this key.Construct an empty trieTest for an empty trieLookup element from trieInsert element into trieDelete element from trie'Construct a trie holding a single value/Apply a function to all values stored in a trie$Traverse the values stored in a trie!Show the representation of a trie$Apply a function to the values of a 5 and keep the elements of the trie that result in a U value. 2Fold a trie with a function of both key and value.!6Traverse a trie with a function of both key and value.#Generic implementation of V%. This is the default implementation.$Generic implementation of %. This is the default implementation.%Generic implementation of  singleton%. This is the default implementation.&Generic implementation of empty%. This is the default implementation.'Generic implementation of insert%. This is the default implementation.(Generic implementation of insert%. This is the default implementation.)Generic implementation of delete%. This is the default implementation.*Generic implementation of %. This is the default implementation.+Generic implementation of %. This is the default implementation.,Generic implementation of %. This is the default implementation.-Generic implementation of mapMaybe%. This is the default implementation..Generic implementation of  foldWithKey%. This is the default implementation./Generic implementation of traverseWithKey%. This is the default implementation.WGeneric implementation of  mergeWithKey%. This is the default implementation.X>Tries of types without constructors are represented by a unit.YGTries of constructors without fields are represented by a single value.Z:Generic sums are represented by up to a pair of sub-tries.[3Generic products are represented by tries of tries.\:Generic fields are represented by tries of the field type.]BGeneric metadata is skipped in trie representation and operations.^  tries are implemented with QX, this is intended for cases where it is better for some reason to force the use of a Q0 than to use the generically derived structure._` tries are implemented with a.bc tries are implemented with Q.de tries are implemented with a.efgOh  !"ijklmnop#$%&'()*+,-./WqrstuvwXxYyZz[{\|}~]€‚ƒ„…†‡ˆ‰Š‹ŒŽ^_bd7  !"ijklmno#$%&'()*+,-./0 !" $*+,(#)-%&'./ ?fgOh   !"p#$%&'()*+,-./WqrstuvwXxYyZz[{\|}~]€i‚jƒk„nml…o†‡ˆ‰Š‹ŒŽ^_bdSafe 0/Construct a trie from a list of key-value pairs1pConstruct a trie from a list of key-value pairs. The given function is used to combine values at the same key.2 Version of 1: which is strict in the result of the combining function.3Construct an empty trie4Test for an empty trieLookup an element from a trie5!Lens for the value at a given key6Insert an element into a trie7Delete an element from a trie8'Construct a trie holding a single value9]Apply a function to the values of a trie and keep the elements of the trie that result in a U value.:5Filter the values of a trie with the given predicate.; Version of :' where the predicate also gets the key.<(Fold a trie with a function of the value=1Fold a trie with a function of both key and value>5Traverse a trie with a function of both key and value?¶Alter the value at the given key location. The parameter function takes the value stored at the given key, if one exists, and should return a value to insert at that location, or  to delete from that location.@¬Insert a value at the given key. The combining function is used when a value is already stored at that key. The new value is the first argument to the combining function.A Version of @9 that is strict in the result of combining two elements.BReturns ‘ when the % has a value stored at the given key.CReturns ’ when the % has a value stored at the given key.D(Transform a trie to an association list.ELeft-biased union of two triesFCUnion of two tries with function used to merge overlapping elementsGRUnion of two tries with function used to merge overlapping elements along with keyH%Left-biased intersection of two triesIbIntersection of two tries parameterized by a combining function of the values at overlapping keysJnIntersection of two tries parameterized by a combining function of the key and the values at overlapping keysK4Remove the keys of the right trie from the left trieLParameterized K( using a custom merge function. Return U. to change the value stored in left trie, or  to remove from the left trie.ML* where function also has access to the keyNIMap a function over a trie filtering out elements where function returns !0123456789:;<=>“?@ABCDEFGHIJKLMN$ 0123456789:;<=>?@ABCDEFGHIJKLMN$38012?6@A75BC4=<D>N9:;EFGHIJKLM !0123456789:;<=>“?@ABCDEFGHIJKLMN”      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZR[\R]^R[_R`abcdefghijXklUmnopqrsXktuuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œaR[XkžXkŸ ”generic-trie-0.3Data.GenericTrie.InternalData.GenericTrieGTrieKey gtrieLookup gtrieInsertgtrieSingleton gtrieDeletegtrieMap gtrieTraversegmapMaybeWithKey gfoldWithKeygtraverseWithKey gmergeWithKeygtrieAtGTrieOrdKey getOrdKeyTrieMkTrieTrieRepDefaultTrieKeyTrieRep trieEmptytrieNull trieLookup trieInsert trieDeletetrieAt trieSingletontrieMap trieTraverse trieShowsPrectrieMapMaybeWithKeytrieFoldWithKeytrieTraverseWithKeytrieMergeWithKey genericLookupgenericTrieNullgenericSingleton genericEmpty genericAt genericInsert genericDeletegenericTrieMapgenericTrieTraversegenericTrieShowsPrecgenericMapMaybeWithKeygenericFoldWithKeygenericTraverseWithKeyfromList fromListWith fromListWith'emptynullatinsertdelete singletonmapMaybeWithKeyfilter filterWithKeyfold foldWithKeytraverseWithKeyalter insertWith insertWith'member notMembertoListunion unionWith unionWithKey intersectionintersectionWithintersectionWithKey differencedifferenceWithdifferenceWithKeymapMaybe GTrieKeyShowbaseGHC.Show showsPreccontainers-0.5.5.1 Data.Map.BaseMapghc-prim GHC.ClassesOrd Data.MaybeMaybe GHC.GenericsGenericJustGHC.ListlookupgenericMergeWithKey $fGTrieKeyV1 $fGTrieKeyU1 $fGTrieKey:+: $fGTrieKey:*: $fGTrieKeyK1 $fGTrieKeyM1$fTrieKeyOrdKey $fTrieKeyChar GHC.TypesCharData.IntMap.BaseIntMap$fTrieKeyInteger integer-gmpGHC.Integer.TypeInteger $fTrieKeyIntIntMProxygtrieShowsPrecUTrieKTriePTrieSTrieBSTrieRSTrieLMTriesimpleAt checkNull$fTraversableTrie$fFoldableTrie $fFunctorTrie $fShowGTrie $fShowTrie$fGTrieKeyShowV1$fGTrieKeyShowU1$fGTrieKeyShow:+:$fGTrieKeyShow:*:$fGTrieKeyShowK1$fGTrieKeyShowM1$fGTrieKeyShowM10$fGTrieKeyShowM11$fFunctorGTrieTFCo:R:GTrieV1aTFCo:R:GTrieU1aTFCo:R:GTrieK1aTFCo:R:GTrie:*:aTFCo:R:GTrie:+:aTFCo:R:GTrieM1a $fTrieKey[]$fTrieKey(,,,,)$fTrieKey(,,,) $fTrieKey(,,) $fTrieKey(,)$fTrieKeyEither$fTrieKeyMaybe $fTrieKeyBool $fTrieKey()NothingTrueFalse mergeWithKey