lint: Run mypy in strict mode
Keeping type hints updated without a linter to yell at us is challenging. Running mypy in strict mode will keep us honest about providing type hints for static analysis with each code change.
Because type hint capabilities are actively evolving in backwards incompatible ways we are also now choosing to run mypy using our oldest supported Python version rather than our newest.