title: How to remove multiple keys from a map?
body: <p>I have a function that removes a key from a map:</p>
  
  <pre><code>(defn remove-key [key map]
    (into {}
          (remove (fn [[k v]] (#{key} k))
                  map)))
  
  (remove-key :foo {:foo 1 :bar 2 :baz 3})
  </code></pre>
  
  <p>How do i apply this function using multiple keys?</p>
  
  <pre><code>(remove-keys [:foo :bar] {:foo 1 :bar 2 :baz 3})
  </code></pre>
  
  <p>I have an implementation using loop...recur. Is there a more idiomatic way of doing this in Clojure?</p>
  
  <pre><code>(defn remove-keys [keys map]
    (loop [keys keys
           map map]
      (if (empty? keys)
        map
        (recur (rest keys) (remove-key (first keys) map)))))
  </code></pre>