(defn through* [cache f item]
"The basic hit/miss logic for the cache system based on `core.cache/through`.
Clojure delays are used to hold the cache value."
(clojure.core.cache/through
(fn [f a] (d-lay #(f a)))
#(clojure.core/apply f %)
cache
item))