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 let 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 does restrict you from using lists:
=> (let (x 1) x)
java.lang.IllegalArgumentException: let requires a vector for its binding (NO_SOURCE_FILE:0)
Why exactly is this?