What is the problem with shadowing names defined in outer scopes?
There isn’t any big deal in your above snippet, but imagine a function with a few more arguments and quite a few more lines of code. Then you decide to rename your data argument as yadda, but miss one of the places it is used in the function’s body… Now data refers to the global, and you start having weird … Read more