Shouldn't we have some library functionality with which we can effectively do `s[0] = s[1]; s[1] = s[2];` with a single call?