I noticed in working through #328 that mypy sometimes seems to over-react about type linting checks and provides challenging guidance with concerns to fixes. I feel we should move to more modern type linting tools such as ty to help avoid these challenges and keep development velocity high.