I am not a fan of acceptance criteria or weight schemes requiring inheritance to pass type checks. I would much rather use protocols (this PEP), but those are not available in Py3.7.
So we have to wait until EOL of 3.7, which will happen in July 2023.