My understanding was that was the cascades only happen correctly if _every_ step along the way makes use of super, not  just the last one and I do not recall seeing any other use of `super` in mpl.

It was also my understanding that the `virtual` keyword in c++ was to ensure that if you call a function which has been overridden in a child class on a child class object which the complier sees as a base type (via polymorphism), the child-class's version of the function was called, not the base class's.  I do not think it ensures that the function is called on all parent classes.