Why is it that within a function sometimes the function changes the list handed it, and other times is doesn't? For example the sort() method does not change the original list, but doing arithmetic on elements does? Also, it seems that making copies of lists change the original list too, which makes no sense at all. This is really driving me crazy.