>9I:      !"#$%&'()*+,-./0123456789None+9A trie data structure with bytestring keys, above VCache.A trie supports keys of arbitrary size, though very large keys may cause performance degradation. Values are directly serialized into nodes, so very large values should use indirection.KA node should either accept a value or branch into at least two children. Obtain unique address for Trie value. As with VRef addresses, this should be stable while the Trie is reachable, but may change if the value is GC'd and later reconstructed at a new address. Exposed for memoization and similar purposes. 6Return byte count for prefix common among two strings. :;<= >?@AB     :;<= >?@ABSafeCDEFGHCDECDEFGHSafeIJKLMNIJKIJKLMNNone+ a simple difference data structure. We're either just in the left, just in the right, or have some simple difference in both (e.g. based on Eq).^function to dereference a Trie cache node. This improves user control over caching on lookup. Construct Trie with no elements. Construct Trie with one element.!O(1), test whether trie is empty.O(n). Compute size of the trie.6O(n). Obtain a list of (key,val) pairs, sorted by key.*O(n). Obtain list of elements in the trie.&O(n). Obtain a sorted list of of keys.;O(1). Add a common prefix to all keys currently in the Trie1Lookup an object by key with user-provided deref.Lookup an object by key'Obtain a trie rooted at a given prefix.This operation may need to allocate in VCache, e.g. to delete some fraction of the requested prefix. This isn't optimal for performance.0lookup prefix with user-provided deref function.Obtain a trie node rooted at a given prefix, if any content exists at this prefix. This operation allows some performance benefits compared to 2 because it never allocates at the VCache layer. 4lookup prefix node with user-provided deref function!(Delete all keys sharing a given prefix. O&Delete keys using user-defined lookup."^Insert a single key,value pair into the trie, replacing any existing value at that location.#Insert a list of (key,value) pairs into the trie. At the moment this is just a linear insert, but it may later be replaced by an efficient batch-insert model. If a key appears more than once in this list, the last entry will win.$"Remove a single key from the trie.%Remove a collection of keys from the trie. At the moment this is just a sequential deletion, but it may later be replaced by a more efficient batch-deletion model.&aUpdate an element in the Trie with a given function. Capable of inserts, modifies, and deletes.P!Adjust using an arbitrary action.'ZValidate the invariant structure of the Trie. Every node must branch or contain a value.4Quickly find keys to the left or right of a given key. If the given key is matched, it appears at the head of the right list. The left list is reverse-ordered, finding keys to the left of the requested key.oThe intention here is to support efficient ranged searches or lookups. The lists returned are computed lazily.5Compute differences between two tries. The provided functions determine the difference type for values in just the left or right or both. < QRST U!OV"#$%&PWX'()*+Y,-./01Z[2345\6789]0  !"#$%&'()*+,-./01234567891 !"$&#%,-.()2/01*+3678945 ' 9 QRST U!OV"#$%&PWX'()*+Y,-./01Z[2345\6789]^       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOP<QRSTUVWXYZ[vcach_Ce2I1po1udP0SvyuoZyTwoData.VCache.Trie.TypeData.VCache.TrieStrictIdentTrie trie_root trie_spaceChildChildrenNode trie_branch trie_prefix trie_acceptunsafeTrieAddrsharedPrefixLenDiffInLInR DerefNodeempty singletonnullsizetoListelemskeystoListBy prefixKeyslookup'lookup lookupPrefix lookupPrefix'lookupPrefixNodelookupPrefixNode' deletePrefixinsert insertListdelete deleteListadjustvalidate foldrWithKey foldrWithKey' foldlWithKey foldlWithKey'foldrfoldr'foldrMfoldlfoldl'foldlM foldrWithKeyM foldlWithKeyM toListOnKeydiffmapmapM mapWithKey mapWithKeyM mkChildren getChildren listChildren putChildren indexOfDiffpeekByte $fShowTrie$fVCacheableTrie$fVCacheableNode runStrict $fMonadStrict$fApplicativeStrict$fFunctorStrictrunIdent $fMonadIdent$fApplicativeIdent$fFunctorIdent deletePrefix'adjustM defaultDeref singletonNode_lookup_lookupP_deleteP collapseIf tryCollapseapwfskip1stskip2ndisStrictPrefixOfmbrun