## Summary

<!-- What does this PR do? Why is it needed? -->

## Checklist

- [ ] `make check` passes (lint + typecheck + tests)
- [ ] Tests added or updated for new/changed behaviour
- [ ] Docs updated if needed
