c;      !"#$%&'()*+,-./0123456789: Safe-Infered;<;<;< Safe-Infered= Safe-Infered>>Return the value computed by a state transformer computation.  The forall- ensures that the internal state used by the ? 9 computation is inaccessible to the rest of the program. >>> Safe-Infered @?Create a new mutable array of specified size, in the specified B state thread, with each element containing the specified initial  value. AFUnsafely copy the elements of an array. Array bounds are not checked. BFUnsafely copy the elements of an array. Array bounds are not checked. CO(n)8 Insert an element at the given position in this array,  increasing its size by one. DO(n)8 Insert an element at the given position in this array,  increasing its size by one. EO(n)9 Update the element at the given position in this array. FO(n)9 Update the element at the given position in this array. GO(n); Update the element at the given positio in this array, by B applying a function to it. Evaluates the element to WHNF before  inserting it into the array. HO(1)9 Update the element at the given position in this array,  without copying. IO(n)8 Delete an element at the given position in this array,  decreasing its size by one. JO(n)8 Delete an element at the given position in this array,  decreasing its size by one. KStrict version of L. &MNOP@QRSTUVWXYZ[\]ABCDEFGH^_`IJLKabcde$MNOP@QRSTUVWXYZ[\]ABCDEFGH^_`IJLKabc&MNOP@QRSTUVWXYZ[\]ABCDEFGH^_`IJLKabcde Safe-Infered+AA map from keys to values. A map cannot contain duplicate keys; ( each key can map to at most one value. fAConvenience function. Compute a hash value for the given value. O(1) Construct an empty map. O(1)( Construct a map with a single element. O(1) Return g if this map is empty, h otherwise. O(n)6 Return the number of key-value mappings in this map. O(log n) Return g( if the specified key is present in the  map, h otherwise. O(log n)8 Return the value to which the specified key is mapped,  or i. if this map contains no mapping for the key. O(log n)8 Return the value to which the specified key is mapped, C or the default value if this map contains no mapping for the key. O(log n)8 Return the value to which the specified key is mapped.  Calls j. if this map contains no mapping for the key. k Create a l value with two m values. n Create a o or p node. O(log n)2 Associate the specified value with the specified B key in this map. If this map previously contained a mapping for % the key, the old value is replaced. q"In-place update version of insert r6Create a map from two key-value pairs which hashes don' t collide. O(log n)3 Associate the value with the key in this map. If D this map previously contained a mapping for the key, the old value E is replaced by the result of applying the given function to the new  and old value. Example:  insertWith f k v map  where f new old = new + old O(log n)8 Remove the mapping for the specified key from this map  if present. O(log n)7 Adjust the value tied to a given key in this map only 3 if it is present. Otherwise, leave the map alone. O(n+m): The union of two maps. If a key occurs in both maps, the ; mapping from the first will be the mapping in the result. O(n+m)7 The union of two maps. If a key occurs in both maps, D the provided function (first argument) will be used to compute the  result. sStrict in the result of f. =Construct a set containing all elements from a list of sets. O(n); Transform this map by applying a function to every value. O(n): Transform this map by accumulating an Applicative result  from every value.  O(n*log m): Difference of two maps. Return elements of the first map  not existing in the second.  O(n*log m)8 Intersection of two maps. Return elements of the first & map for keys existing in the second. O(n+m)8 Intersection of two maps. If a key occurs in both maps B the provided function is used to combine the values from the two  maps. O(n)6 Reduce this map by applying a binary operator to all 9 elements, using the given starting value (typically the C left-identity of the operator). Each application of the operator 9 is evaluated before before using the result in the next > application. This function is strict in the starting value. O(n)6 Reduce this map by applying a binary operator to all 9 elements, using the given starting value (typically the C left-identity of the operator). Each application of the operator 9 is evaluated before before using the result in the next > application. This function is strict in the starting value. O(n)6 Reduce this map by applying a binary operator to all 9 elements, using the given starting value (typically the " right-identity of the operator). O(n)6 Reduce this map by applying a binary operator to all 9 elements, using the given starting value (typically the " right-identity of the operator). O(n)9 Filter this map by retaining only elements satisfying a  predicate. O(n)9 Filter this map by retaining only elements which values  satisfy a predicate. O(n) Return a list of this map's keys. The list is produced  lazily. O(n) Return a list of this map' s values. The list is produced  lazily. O(n) Return a list of this map's elements. The list is  produced lazily. O(n): Construct a map with the supplied mappings. If the list B contains duplicate mappings, the later mappings take precedence.  O(n*log n)0 Construct a map from a list of elements. Uses 3 the provided function to merge duplicate entries. tO(n)9 Update the element at the given position in this array. uO(n)9 Update the element at the given position in this array. vO(n)W Update the element at the given position in this array, by applying a function to it. w Mask out the x& bits used for indexing at this level  of the tree. yA bitmask with the x least significant bits set. ?zlp{o|m}fDefault value to return. kn qr s~tuvxwy7zlp{o|m}fkn qr s~tuvxwy9z|o{plm}fkn qr s~tuvxwyportable provisionaljohan.tibell@gmail.com Trustworthy O(1)( Construct a map with a single element. !O(log n)2 Associate the specified value with the specified B key in this map. If this map previously contained a mapping for % the key, the old value is replaced. "O(log n)3 Associate the value with the key in this map. If D this map previously contained a mapping for the key, the old value E is replaced by the result of applying the given function to the new  and old value. Example:  insertWith f k v map  where f new old = new + old #O(log n)7 Adjust the value tied to a given key in this map only 3 if it is present. Otherwise, leave the map alone. $O(n+m)7 The union of two maps. If a key occurs in both maps, L the provided function (first argument) will be used to compute the result. %O(n); Transform this map by applying a function to every value. &O(n+m)8 Intersection of two maps. If a key occurs in both maps B the provided function is used to combine the values from the two  maps. ' O(n*log n)5 Construct a map with the supplied mappings. If the ; list contains duplicate mappings, the later mappings take  precedence. ( O(n*log n)0 Construct a map from a list of elements. Uses 3 the provided function to merge duplicate entries. !"#$%&'(   !"#$%&'(  !" # $%&'( !"#$%&'(portable provisionaljohan.tibell@gmail.com Trustworthy    portable provisionaljohan.tibell@gmail.com Safe-Infered)9A set of values. A set cannot contain duplicate values. *O(1) Construct an empty set. +O(1)( Construct a set with a single element. ,O(n+m)9 Construct a set containing all elements from both sets. ATo obtain good performance, the smaller set must be presented as  the first argument. -=Construct a set containing all elements from a list of sets. .O(1) Return g if this set is empty, h otherwise. /O(n), Return the number of elements in this set. 0 O(min(n,W)) Return g' if the given value is present in this  set, h otherwise. 1 O(min(n,W))& Add the specified value to this set. 2 O(min(n,W))- Remove the specified value from this set if  present. 3O(n); Transform this set by applying a function to every value. 3 The resulting set may be smaller than the source. 4O(n): Difference of two sets. Return elements of the first set  not existing in the second. 5O(n); Intersection of two sets. Return elements present in both  the first set and the second. 6O(n)6 Reduce this set by applying a binary operator to all 9 elements, using the given starting value (typically the C left-identity of the operator). Each application of the operator 9 is evaluated before before using the result in the next > application. This function is strict in the starting value. 7O(n)6 Reduce this set by applying a binary operator to all 9 elements, using the given starting value (typically the " right-identity of the operator). 8O(n)9 Filter this set by retaining only elements satisfying a  predicate. 9O(n) Return a list of this set's elements. The list is  produced lazily. :O(n*min(W, n))* Construct a set from a list of elements. )*+,-./0123456789:)*+,-./0123456789:)*+,-./0123456789:)*+,-./0123456789:      !"#$%&'( '()     #&'*+,-./,0123456789:;<=>?@ ABCDEFGHIJK L&M#NOPQRSQRT,UV,WXYZ[\]^_`abcdEefg[hijklmnopqrstuvwxyzunordered-containers-0.2.2.0Data.HashMap.StrictData.HashMap.Lazy Data.HashSetData.HashMap.UnsafeShiftData.HashMap.PopCountData.HashMap.UnsafeData.HashMap.ArrayData.HashMap.BaseHashMapempty singletonnullsizememberlookup lookupDefault!insert insertWithdeleteadjustunion unionWithunionsmaptraverseWithKey difference intersectionintersectionWithfoldl' foldlWithKey'foldr foldrWithKey filterWithKeyfilterkeyselemstoListfromList fromListWithHashSet unsafeShiftL unsafeShiftRbase Data.BitspopCountrunSTGHC.STSTnewcopycopyMinsert'updateupdate' updateWith unsafeUpdate'delete'map'MArrayArraylengthlengthMnew_ singleton'pairreadwriteindexindex_indexM_ unsafeFreeze unsafeThawrunrun2thawtraverse $fNFDataArray $fShowArrayhashghc-prim GHC.TypesTrueFalse Data.MaybeNothingGHC.Errerror collision CollisionLeafbitmapIndexedOrFull BitmapIndexedFull unsafeInserttwo unionArrayByupdate16 update16' update16With bitsPerSubkey fullNodeMaskBitmapEmptyLupdateOrConcatWith sparseIndexmask $fEqHashMap$fTraversableHashMap $fShowHashMap$fMonoidHashMap$fFoldableHashMap$fFunctorHashMap$fNFDataHashMap $fNFDataLeaf $fShowHashSet$fMonoidHashSet$fFoldableHashSet $fEqHashSet$fNFDataHashSet