1. (defn foo
  2. [x y & args]
  3. (->> args
  4. (partition 2)
  5. (keep #(and (first %) (second %)))
  6. (map (juxt (comp x first)
  7. (comp y second)))
  8. (into {})))

user=> (foo identity inc :a 1 :b 2 :c 3)

{:c 4, :b 3, :a 2}