If you "iterate over" the map, you will get key-value pairs, not keys. For example,
user=> (map #(str %) {:a 1, :b 2, :c 3}) ("[:a 1]" "[:b 2]" "[:c 3]")
So your anonymous function is trying to evaluate (some [:a "x"] [:a :b]) , which is obviously not working.
The ideomatic solution is to use select-keys as indicated in another answer.
Joe lehmann
source share