Nick Coghlan added the comment:
The deprecation warning version looks good to me.
Something I'll mention explicitly (regarding the PyCon discussions that Eric mentioned above), is that we unfortunately couldn't do something like this for the various concrete APIs with overly permissive subclass checks. For those APIs, calling them directly was often the *right* thing for simple subtypes implemented in C to use to call up to the parent implementation.
This case is different, as it's the *abstract* APIs that currently have the overly permissive checks.