title: Are tail-recursive functions ALWAYS to be avoided?
body: <p>If I recall correctly, tail recursive functions always have an easy non-recursive equivalent. 
  Since recursion involves unnecessary function call overhead, it's better to do it the non-recursive way.</p>
  
  <p>Is this assumption always true? Are there any other arguments for/against tail-recursion?</p>