A function definition uses a list as a parameter default. When is that list created, and what happens when later calls omit the argument?
Explanation
The list is created as the def statement executes, and omitted arguments bind to that same object on later calls. Assuming a fresh list or an automatic copy for every call hides the sharing that makes mutable defaults risky.