Add `swap!*` fn (cross-platform)