## What

Brief description of what this PR does.

## Why

Why is this change needed?

## How

How does the implementation work? Any key decisions or trade-offs?

## Testing

- [ ] All existing tests pass (`pytest tests/ -v`)
- [ ] New tests added for new functionality
- [ ] Manually tested with a real COBOL program

## Checklist

- [ ] Code follows existing patterns and style
- [ ] Type hints on all new function signatures
- [ ] Docstrings on public classes/functions
- [ ] CHANGELOG.md updated under `[Unreleased]`
