https://www.geeksforgeeks.org/python-match-case-statement/ This should also provide an exhaustiveness check in mypy, which is currently done via [`assert_never`](https://typing.readthedocs.io/en/latest/guides/unreachable.html)