It is rather unlikely that an implementation will both make a copy and then modify both and return the copy. But ensuring the original is unmodified makes sense.