title: Passing list of variables individually to clojure function
body: <p>I have been playing around with clojure, and decided to make a higher order function that combines mapcat and list to emulate this behavior: </p>
  
  <pre><code>Clojure&gt; (mapcat list '(1 2 3 4) '(5 6 7 8))
  (1 5 2 6 3 7 4 8)
  </code></pre>
  
  <p>my first attempt was defining mapcatList as follows: </p>
  
  <pre><code>Clojure&gt; (defn mapcatList[&amp; more](mapcat list more))
  #'sandbox99/mapcatList
  Clojure&gt; (mapcatList '(1 2 3 4) '(5 6 7 8))
  ((1 2 3 4) (5 6 7 8))
  </code></pre>
  
  <p>Obviously the function does not behave how I would like it, and I think this is because the two lists are being put into one list and passed as a single argument, not two. 
  I was able to remedy the situation with the following, </p>
  
  <pre><code>Clojure&gt; (defn mapcatList[x y &amp; more](mapcat list x y))
  #'sandbox99/mapcatList
  Clojure&gt; (mapcatList '(1 2 3 4) '(5 6 7 8))
  (1 5 2 6 3 7 4 8)
  </code></pre>
  
  <p>This solution works well with two lists, but I would like the function to work with a variable number of arguments. </p>
  
  <p>My question: How can I pass a variable number of argument to a function, then destructure them so they are passed as individual arguments together to 'mapcat list'?</p>