A bozo's blog
((fn [defval vect] (reduce (fn [m k] (conj m {k defval})) {} vect)) 0 [:a :b]) {:a 0, :b 0}
((fn [defval vect] (zipmap vect (repeat defval))) 0 [:a :b :c]) {:a 0, :b 0, :c 0}