list から map に変換

これがもっとエレガントに簡単にならんもんだろうか???

(let [data '((1 2 3) (0 0 0) (1 2 3 4) (3 3 3) (3 2 3) (1 2 1))
      keyring '(:a :b :c :d :e) 
      _make-pair (fn [arg] (map #(list %1 %2) keyring arg))
      _conv-map  (fn [m [k v]] (assoc m k v))]
  (map #(reduce _conv-map, {}, %) (map _make-pair data)))
;=> ({:c 3, :b 2, :a 1} {:c 0, :b 0, :a 0} {:d 4, :c 3, :b 2, :a 1} {:c 3, :b 3, :a 3} {:c 3, :b 2, :a 3} {:c 1, :b 2, :a 1})