
When you define a class, Python checks it can get an unambiguous MRO. Children must always precede parents.
class A: pass
class B(A): pass
class C(A): pass
class D(C, A, B): pass
This gives a TypeError when D is defined, because B (child of A) comes after A.
