The reason I did this was to be consistent with how scipy treats variables in this type of situation. scipy uses `overwrite_a` when `a` is being operated on using some form of transform, I think. For example, `overwrite_a` is used in both `ifft()` and `svd()` (the latter does the heavy lifting of this method) and may other functions in `scipy.linalg`. I assumed it had to do with whether your operation gave you back something more or less like you already had (where it would make sense to think of the output as a "copy" of the original) or something that substantially differed in terms of number of elements or datatype (where you'd think of getting something new/different while "overwriting" the old version in the process). However, it could just be a difference in how scipy and numpy treat their variables...

I'll change it so we can be consistent in any case :)