enable recursive functions with no net effect on the internal stack