úÎCÅ>÷3      !"#$%&'()*+,-./012NoneAn 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. 4545None6789:;<=>?@ABCDEFG6789:;<=>?@ABCDEFG6789:;<=>?@ABCDEFGNoneHIJKLMNOPQRSTUVWXYHIJKLMNOPQRSTUVWXYHIJKLMNOPQRSTUVWXYNone 'A persistent store for a single value.  type Locker :: * -> * Keys for the vault.  type Key :: * -> * -> * 2A persistent store for values of arbitrary types. 5This variant is the simplest and creates keys in the Z monad.  See the module  Data.Vault.ST if you want to use it with the [ monad instead.  type Vault :: * -> *  instance Monoid Vault 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 'A persistent store for a single value.  type Locker :: * Keys for the vault.  type Key :: * -> * 2A persistent store for values of arbitrary types. 5This variant is the simplest and creates keys in the Z monad.  See the module  Data.Vault.ST if you want to use it with the [ monad instead.  type Vault :: *  instance Monoid Vault 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 'A persistent store for a single value.  type Locker :: * -> * Keys for the vault.  type Key :: * -> * -> * 2A persistent store for values of arbitrary types. 5This variant is the simplest and creates keys in the Z monad.  See the module  Data.Vault.ST if you want to use it with the [ monad instead.  type Vault :: * -> *  instance Monoid Vault 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 ''A persistent store for a single value.  type Locker :: * (Keys for the vault.  type Key :: * -> * )2A persistent store for values of arbitrary types. 5This variant is the simplest and creates keys in the Z monad.  See the module  Data.Vault.ST if you want to use it with the [ monad instead.  type Vault :: *  instance Monoid Vault *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 '()*+,-./012^                           !""# vault-0.3.0.0Data.Unique.ReallyData.Vault.ST.StrictData.Vault.StrictData.Vault.ST.LazyData.Vault.LazyData.Vault.ST.GHC_StrictData.Vault.ST.GHC_LazyUnique newUnique hashUniqueLockerKeyVaultemptynewKeylookupinsertadjustdeleteunionlockunlockghc-prim GHC.TypesInt$fHashableUniqueMaptoAnyfromAnyIObaseGHC.STST $fMonoidVault