How does Python’s “super” do the right thing?

I’m running Python 2.5, so this question may not apply to Python 3. When you make a diamond class hierarchy using multiple inheritance and create an object of the derived-most class, Python does the Right Thing (TM). It calls the constructor for the derived-most class, then its parent classes as listed from left to right, then the grandparent. I’m familiar with Python’s MRO; that’s not my question. I’m curious how the object returned from super actually manages to communicate to calls of super in the parent classes the correct order. Consider this example code: