title: Why does let require a vector?
body: <p>I never really thought about this until I was explaining some clojure code to a coworker who wasn't familiar with clojure.  I was explaining <code>let</code> to him when he asked why you use a vector to declare the bindings rather than a list.  I didn't really have an answer for him.  But the language <em>does</em> restrict you from using lists:</p>
  
  <pre><code>=&gt; (let (x 1) x)
  java.lang.IllegalArgumentException: let requires a vector for its binding (NO_SOURCE_FILE:0)
  </code></pre>
  
  <p>Why exactly is this?</p>