Why does defining `class Bad(Z1, Z2)` below raise `TypeError: Cannot create a consistent method resolution order`?class X: pass class Y: pass class Z1(X, Y): pass class Z2(Y, X): pass class Bad(Z1, Z2): pass # ?