Isn't the iterator an rValue anyway? Do we need move()?