Concept Flow - Defer execution order
Start function
Execute statements
Encounter defer statement
Store deferred call on stack
Continue executing
Function end reached
Pop deferred calls from stack
Execute deferred calls in LIFO order
Function returns
When Go runs a function, deferred calls are saved and run last in reverse order, just before the function ends.