But isn’t this still unintuitive that you can change the scope of x by calling x=x? Seems like a hack with potentially little harm however, because one would not call x = f(x) when x is not defined in the current scope unless referring to the previous x as the input to f so it kind of works out anyways, but still weird.