I want to transform one map of values to another map with the same keys but with a function applied to the values. I would think there was a function for doing this in the c
I like your reduce version just fine. I think it's idiomatic. Here's a version using list comprehension anyways.
reduce
(defn foo [m f] (into {} (for [[k v] m] [k (f v)])))