transducers are sort of related to partial application and currying but it’s not just a different name for that better to think of them as a way to compose reusable/generic pipelined operations independently of the data they’ll process when used to transform collections/sequences of data there are no intermediate colls/seqs in the pipeline so they’re more efficient iirc there are some headaches when attempting to express transducers with static typing, similar to headaches/tradeoffs of statically typed Rx implementations Clojure isn’t statically typed so it’s not an issue for that lang