Cleaning up save/restore semantics, especially for tags