So when I see a void*, I know that the documentation is really important.
def pickymethod(self, pickyobject):
"""Here there be dragons, beware"""
Although really you should write the module around Aprime, an interface, and then say that both A and B implement interface Aprime.
Problem is, A and the module that handles it is existing code used in multiple projects. IO don't want to do a cut/paste job and I don't want to risk breaking the other projects. B is from another existing module used by other projects. I REALLY just want to derive a Bprime that can serve as an A or a B as needed by the legacy modules.
Python does a decent job with multiple inheritance, but even so, it can get ugly so I might prefer duck typing and a compatible class.