{{ {type KVStore} is an ability that models a key-value store. # Example @typecheck``` KVStore.modify : (v -> v) -> k ->{KVStore k v} () KVStore.modify f k = KVStore.put (f KVStore.get) ``` ``` KVStore.modify (x -> x + 1) ``` }} unique ability KVStore a b where get : a ->{KVStore a b} Optional b put : a -> b ->{KVStore a b} () {{ Adds a couple of key-value pairs to the {KVStore} and Reads them back. }} myProgram : '{KVStore Nat Nat} Text myProgram _ = use KVStore put put 3 4 put 5 6 maybeFour = KVStore.get 3 Optional.map Nat.toText maybeFour |> Optional.getOrElse "nothing here"