VP
Size: a a a
VP
ST
DL
a
ST
AP
ST
ST
a
AC
ap
ST
KC
(defn dedupe-by
([f]
(fn [rf]
(let [pv (volatile! ::none)]
(fn
([] (rf))
([result] (rf result))
([result input]
(let [prior @pv]
(vreset! pv input)
(if (f prior input)
result
(rf result input))))))))
([f coll] (sequence (dedupe-by f) coll)))
ap
ap
ap
KC
ap
KC
ap