Improve `swap!*`, `reset!*` efficiency