Can we avoid this step if the new value is the same object?