## What

<!-- Brief description of the change. -->

## Why

<!-- Motivation or issue number (e.g. Fixes #123). -->

## Checklist

- [ ] Tests pass (`uv run pytest tests/ -v`)
- [ ] Lint passes (`uv run ruff check src/ tests/`)
- [ ] CHANGELOG.md updated
- [ ] Version bumped in `pyproject.toml` and `src/coarse/__init__.py` (if releasing)
