Îõ³h$6 9      !"#$%&'()*+,-./012345678 Safe-Inferred­vault*An abstract unique value. Values of type 3 may be compared for equality and hashed into Int.Note: Unlike the symbols from  Data.UniqueÙ, the symbols from this module do not become equal after reloads in the GHC interpreter!vaultCreates a new object of type É. The value returned will not compare equal to any other value of type  returned by previous calls to Ç. There is no limit on the number of times you may call this function.vault Hashes a  into an 9×. Two Uniques may hash to the same value, although in practice this is unlikely. The 9 returned makes a good hash key.NoneÊ™ vault&Create a new key for use with a vault. vault'Lookup the value of a key in the vault. vault>Insert a value for a given key. Overwrites any previous value. vault>Adjust the value for a given key if it's present in the vault. vaultDelete a key from the vault. vaultPut a single value into a .vaultRetrieve the value from the .vaultThe empty vault.vaultMerge two vaults (left-biased).     NoneÄ vault&A persistent store for a single value.vaultKeys for the vault.vault1A 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.vaultThe empty vault.vault&Create a new key for use with a vault.vault'Lookup the value of a key in the vault.vault>Insert a value for a given key. Overwrites any previous value.vault>Adjust the value for a given key if it's present in the vault.vaultDelete a key from the vault.vaultMerge two vaults (left-biased).vaultPut a single value into a .vaultRetrieve the value from the .  NoneÊ Â "vault&Create a new key for use with a vault.#vault'Lookup the value of a key in the vault.$vault>Insert a value for a given key. Overwrites any previous value.%vault>Adjust the value for a given key if it's present in the vault.&vaultDelete a key from the vault.'vaultPut a single value into a .(vaultRetrieve the value from the .)vaultThe empty vault.*vaultMerge two vaults (left-biased).  !"#$%&'()* ! )"#$%&*'(None í -vault&A persistent store for a single value..vaultKeys for the vault./vault1A 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.0vaultThe empty vault.1vault&Create a new key for use with a vault.2vault'Lookup the value of a key in the vault.3vault>Insert a value for a given key. Overwrites any previous value.4vault>Adjust the value for a given key if it's present in the vault.5vaultDelete a key from the vault.6vaultMerge two vaults (left-biased).7vaultPut a single value into a -.8vaultRetrieve the value from the -. -./012345678 /.0123456-78<               $vault-0.3.1.5-4utelu6E2m7EM9P4WRXuk4Data.Unique.ReallyData.Vault.ST.LazyData.Vault.LazyData.Vault.ST.StrictData.Vault.StrictUnique newUnique hashUnique$fHashableUnique $fEqUniqueLockerKeyVaultnewKeylookupinsertadjustdeletelockunlockemptyunion $fMonoidVault$fSemigroupVaultghc-prim GHC.TypesIntIObaseGHC.STST