Revert "sigh. Typehints are pretty useless if you can't use a base class."

This reverts commit dfa3e2fce83638a4cc61114284b0de01728a4a12.
of course, it helps if we type hint with the *correct* parent class.