A typed, persistent store for values of arbitrary types. This is a port of the haskell Vault library Heinrich Apfelmus.
Think of it as
Map that can store for values of arbitrary types, but it's type-safe.
You can store of any types by creating
Key a first, this key used to parameterized the
type you are going to store in vault.
In summary a vault API:
data Vault data Key a newKey :: forall e a. Eff (ref :: REF | e) (Key a) empty :: Vault lookup :: forall a. Key a -> Vault -> Maybe a insert :: forall a. Key a -> a -> Vault -> Vault delete :: forall a. Key a -> Vault -> Vault