## What & why
## Checklist
- [ ] `cargo fmt --check`, `cargo clippy --all-targets -- -D warnings`, and `cargo test` pass
- [ ] Added or updated tests for the change (incremental parity where relevant)
- [ ] If the UniFFI interface changed, regenerated the Swift bindings (see [CONTRIBUTING.md](../CONTRIBUTING.md))
- [ ] Updated `CHANGELOG.md` if the change is user-facing