title: Clojure: how to send remaining arguments "& args" into list?
body: <p>Is there any (reasonable) way to write this macro as a function?</p>
  
  <pre><code>(defmacro assocTop
            [v &amp; args]
            `(push (pop ~v)
                   (assoc (peek ~v) ~@args)))
  </code></pre>
  
  <p>Given a vector of maps and some associations, the macro code applies the associations to the top/peeked map.</p>
  
  <p>However, when trying to write it as a function, I can't figure out how to expand the <code>~@args</code> in a legitimate way.  In normal functions, is there a way to turn <code>args</code>, which I believe has the form <code>(:a 3 :bb 44 :cd 90,...)</code> into <code>:a 3 :bb 44 :cd 90,...</code> ,i.e. without the parens?</p>