Updated Cache.hs to use ST instead of a Vault