The structure I have looks like this:
Parent(abc.ABCMeta) -> Foo(Parent)
Parent(abc.ABCMeta) -> SubParent(abc.ABCMeta, Parent) -> Bar(SubParent)
Then, say we have instances like so,
x = Foo()
t = Bar()
From this design, is it possible to answer the question,
x is _not_ an instance of some abstract class that extends Parent?
I understand that taking a high-level look at this might seem like some design smell.