#TIL in Python, combination of `cache` and `staticmethod` decorators might cause bug in some cases.
It is caused by the fact that `cache` overrides `staticmethod` which no longer is a static method. Hence, it fails when called from class instance because it sees `self` as an unexpected argument - and TypeError is thrown.
See thiss StackOverflow thread for further reference.
https://stackoverflow.com/questions/76403155/does-it-make-sense-to-decorate-a-staticmethod-with-an-lru-cache/76403292#76403292