title: Clojure eval error
body: <p>Using Clojure 1.2, this code works</p>
  
  <pre><code>(defn A [] (fn [a] (+ a 2)))
  (println ((A) 0))
  (println (eval (list (A) 0)))
  </code></pre>
  
  <p>but the following code fails on the third line</p>
  
  <pre><code>(defn A [b] (fn [a] (+ a b)))
  (println ((A 3) 0))
  (println (eval (list (A 3) 0)))
  </code></pre>
  
  <p>Why?</p>