Recursion and Backtracking: Trusting a Function You Have Not Finished Writing
Recursion is hard because everyone traces it. The habit that makes it mechanical: write the contract, trust the smaller call, never trace the stack.
Problem Solving From Zero08