title: clojure cons vs conj with lazy-seq
body: <p>Why does cons work in this context with lazy-seq, but conj doesn't?</p>
  <p>This works:</p>
  <pre><code>(defn compound-interest [p i]
     (cons p (lazy-seq (compound-interest (* p (+ 1 i)) i))))
  </code></pre>
  <p>This doesn't (it gives a stack overflow exception):</p>
  <pre><code>(defn compound-interest2 [p i]
     (conj (lazy-seq (compound-interest2 (* p (+ 1 i)) i)) p))
  </code></pre>