C3 linéarization might be mathematically proven to be optimal, as in, it's the best way to order a graph. Sure. But why would we order the inheritance tree? That's essentially my problem with the current solution. looking at conflict, and saying "it's a conflcit" is the correct solution in my mind. I tested it on multiple inheritance trees, and mixed with current style MRO + super, this doesn't seem to lead to issues. You can find all the tests i've done in the test folder here : https://github.com/malmiteria/super-alternative-to-super Again, why so systematically try to order the inheritance tree? merge conflict are definitely an appropriate solution. Obviously they require solving the conflict, but simply defining the method in the child is enough