Why is a simple regular recursion in Elixir not giving stack overflow exception even with very high number like n = 500000? It is neither tail recursion nor TCO.
def factorial(n) do
cond do
n == 0 ->
1
true ->
n * factorial(n - 1)
end
end