Tail position is the rule
A call is in tail position only if nothing happens after it returns. Adding to the result breaks the tail.
Python has no tail calls
Python keeps a frame for every call, so tail recursion still uses stack. Write a loop for large repetition.