https://medium.com/doctrine/a-match-made-in-heaven-structural-pattern-matching-in-python-e48aaec9a553