OK I see now, the arg declaration was changed using the assignment operator (and `a += b` is really `a = a + b`), which replaces the value of a variable with a new object, so by binding you mean not the allocated object but the variable reference to it, ensuring that a replaced variable reference also gets propagated to `super`. This is similar to a flat scope concept.

I'm OK either way for this particular method given the unique circumstances, but I support simplifying the `super`s elsewhere in this PR.