Mental Model
Recursion is when a function calls itself to solve smaller parts of a problem until it reaches a simple case.
Analogy: Imagine a set of nested boxes where each box contains a smaller box inside it until the smallest box is empty. You open each box one by one and then close them in reverse order.
func call 1 -> func call 2 -> func call 3 -> base case reached ā call stack grows with each call call stack unwinds after base case
