Concept Flow - Environment and closures
Define function with free variables
Function remembers environment
Call function
Look up variables in saved environment
Execute function body using saved variables
Return result
A closure is a function that remembers the environment where it was created, so it can access variables even after that environment is gone.