A key feature of functions in Scheme are closures. Andy Balaam explains that functions carry around the environment in which they were created with them, and that environment can even be modified later, and is distinct from the environments of other functions created in the same way. If you're new to Scheme, try http://youtu.be/byofGyW2L10 first. The slides for this video are here: http://www.artificialworlds.net/blog/2012/06/01/scheme-3-closures/