title: How do i get the tail from the recursive function which is building a list of results?
body: <p>Currently the following code is returning a list from 2-10 when i pass the number 2. I don't want it to return first element <code>2</code> in the list.</p>
  
  <pre><code>boot.user=&gt; (defn hierarchy [num]
  #_=&gt;   (when num
  #_=&gt;     (lazy-seq (cons num (hierarchy (#(when (&lt; % 10) (inc %)) num))))))
  #'boot.user/hierarchy
  
  boot.user=&gt; (hierarchy 2)
  (2 3 4 5 6 7 8 9 10)
  </code></pre>
  
  <p>Expected result is</p>
  
  <pre><code>(3 4 5 6 7 8 9 10)
  </code></pre>
  
  <p>I know if i call the <code>rest</code> function i will get the tail but i couldn't think of a better refactor of this function to give me back only tail. </p>