In a deep hierarchy, what is the call chain of `D().m()` and what does it show about how `super()` resolves inside `B.m`?
class A:
def m(self): return 'A'
class B(A):
def m(self): return 'B->' + super().m()
class C(A):
def m(self): return 'C->' + super().m()
class D(B, C):
def m(self): return 'D->' + super().m()
print(D().m())