How to Write a Fast, Reducible Collection
Ghadi Shayban at Clojure/conj 2017
Making an implementation IReduceInit is still somewhat of a black art, but needn't be. I'll step you through making a Seq-less source collection, then supercharge it with transducers.