Clojure destructure map using :keys with qualified keywords not working <p>I've tried this with both 1.7.0 and 1.8.0 and it appears that Clojure does not destructure maps using <code>:keys</code> whose keys are fully qualified. I don't think it has to do with being in the tail on the arguments as it doesn't work when I switch around the function argument positions as well.</p> <pre><code>(ns foo.sandbox) (def foo ::foo) (def bar ::bar) (defn normalize-vals [mmap &amp; [{:keys [foo bar] :as ops}]] (println "normalize-vals " ops " and foo " foo " bar" bar)) (normalize-vals {} {foo 1 bar 2}) =&gt; normalize-vals {:foo.sandbox/foo 1, :foo.sandbox/bar 2} and foo nil bar nil </code></pre> <p>However; this works:</p> <pre><code> (defn normalize-vals [mmap &amp; [{a foo b bar :as ops}]] (println "normalize-vals " ops " and foo " a " bar" b)) (normalize-vals {} {foo 1 bar 2}) =&gt; normalize-vals {:cmt.sandbox/foo 1, :cmt.sandbox/bar 2} and foo 1 bar 2 </code></pre> <p>Is this a defect?</p>