Going down to assembly language a loop often has a test, conditional jump, body and unconditional jump - which really is iterative.
Also keep in mind that iteration doesn’t require a stack frame and only tail call (last call optimized) recursion can reuse a stack frame while body recursion consumes a stack frame on each call.


















