Message 378353 - Python tracker
This behavior (only relevant with `from __future__ import annotations`) has been around since @singledispatchmethod was introduced in 3.8, so I agree we should treat it as a feature request. In the meantime, maybe a workaround is to move the register call out of the class? It looks a little bit ugly but probably works. (Disclaimer: I'm not familiar with singledispatchmethod.)