33/3      !"#$%&'()*+,-./012 Safe-InferredAn abstract unique value.  Values of type  may be compared for equality  and hashed into Int. Note: Unlike the symbols from  Data.Unique, the symbols from this B module do not become equal after reloads in the GHC interpreter! Creates a new object of type . 8 The value returned will not compare equal to any other  value of type  returned by previous calls to . F There is no limit on the number of times you may call this function.  Hashes a  into an 3. P Two Uniques may hash to the same value, although in practice this is unlikely.  The 3! returned makes a good hash key. 4545None 'Create a new key for use with a vault. (Lookup the value of a key in the vault. ?Insert a value for a given key. Overwrites any previous value. &Adjust the value for a given key if it's present in the vault. Delete a key from the vault. Put a single value into a . Retrieve the value from the . The empty vault.  Merge two vaults (left-biased). 6789:; <      6789:; <None 'A persistent store for a single value. Keys for the vault. 2A persistent store for values of arbitrary types. 5This variant is the simplest and creates keys in the = monad.  See the module  Data.Vault.ST if you want to use it with the > monad instead. The empty vault. 'Create a new key for use with a vault. (Lookup the value of a key in the vault. ?Insert a value for a given key. Overwrites any previous value. &Adjust the value for a given key if it's present in the vault. Delete a key from the vault.  Merge two vaults (left-biased). Put a single value into a . Retrieve the value from the .    None 'Create a new key for use with a vault. (Lookup the value of a key in the vault. ?Insert a value for a given key. Overwrites any previous value. !&Adjust the value for a given key if it's present in the vault. "Delete a key from the vault. #Put a single value into a . $Retrieve the value from the . %The empty vault. & Merge two vaults (left-biased). ?@ABCD !"#$%&E  !"#$%& % !"&#$?@ABCD !"#$%&ENone ''A persistent store for a single value. (Keys for the vault. )2A persistent store for values of arbitrary types. 5This variant is the simplest and creates keys in the = monad.  See the module  Data.Vault.ST if you want to use it with the > monad instead. *The empty vault. +'Create a new key for use with a vault. ,(Lookup the value of a key in the vault. -?Insert a value for a given key. Overwrites any previous value. .&Adjust the value for a given key if it's present in the vault. /Delete a key from the vault. 0 Merge two vaults (left-biased). 1Put a single value into a '. 2Retrieve the value from the '. '()*+,-./012 '()*+,-./012 )(*+,-./0'12 '()*+,-./012F                           ! vault-0.3.0.2Data.Unique.ReallyData.Vault.ST.StrictData.Vault.StrictData.Vault.ST.LazyData.Vault.LazyUnique newUnique hashUniqueLockerKeyVaultnewKeylookupinsertadjustdeletelockunlockemptyunionghc-prim GHC.TypesInt$fHashableUniqueMaptoAnyfromAny $fMonoidVaultIObaseGHC.STST