reducing function transformers are getting a name - 'transducers', and first-class support in Clojure core and core.async.

Rich Hickey invented it and they quickly came to JavaScript, of course. Dive right in the code on github.