use clojure.walk from Clojure 1.6 - supports walking records.