map-state, mapcat-state, etc for state transducers in Clojure