Come viene implementato il meccanismo di ordine di risoluzione dei metodi (MRO) nell'ereditarietà multipla in Python — l'algoritmo di linearizzazione C3? In quale caso l'interprete lancerà un errore TypeError: Cannot create a consistent method resolution order?