As far as I know, most recursive functions can be rewritten using loops. Some maybe harder than others, but most of them can be rewritten. So the question is, under which conditions does it become impossible to rewrite a recursive function using a loop (if such conditions exist)?
Clarification: I know how to convert a recursive function to use a loop, but I am asking whether there are (corner) cases where this is impossible.