Not all normalize functions are called with multiple base sections
We have to use super(A, self)
consistently in normalize functions:
class FooBase(object):
def foo(self): pass
class A(FooBase):
def foo(self):
super(A, self).foo()
print('A.foo()')
class B(FooBase):
def foo(self):
super(B, self).foo()
print('B.foo()')
class C(A, B):
def foo(self):
super(C, self).foo()
print('C.foo()')
C().foo()
prints
B.foo()
A.foo()
C.foo()