Let me trace sum_of_digits(1234) step by step:
Call 1: sum_of_digits(1234) → returns 4+ sum_of_digits(123)
Call 2: sum_of_digits(123) → returns 3+ sum_of_digits(12)
Call 3: sum_of_digits(12) → returns 2+ sum_of_digits(1)
Call 4: sum_of_digits(1) hits base case, returns 1 Then the results come back: 2+1=3, then 3+3=6, then 4+6=10. Four calls total, each peeling off one digit.