title: 4clojure #57 - Simple Recursion
body: <p>I am going through 4clojure problems and I cannot figure why <a href="https://www.4clojure.com/problem/57" rel="nofollow">following code is working</a></p>
  
  <pre><code>user=&gt; ((fn foo [x] (when (&gt; x 0) (conj (foo (dec x)) x))) 5)
  (5 4 3 2 1)
  </code></pre>
  
  <p>I understand that <code>(foo (dec x))</code> has to be treated as a PersistentCollection for this to work but what is going on there is a mystery. Any insight why it is working, and why in this order will be appreciated. </p>