Por que esse MRO ambíguo?

class First(object):
    def __init__(self):
        print "first"

class Second(First):
    def __init__(self):
        print "second"

class Third(First, Second):
    def __init__(self):
        print "third"

Fonte

Por que o Python não pode criar uma MRO consistente? Parece-me que é bastante claro:

Procure primeiro se o método não existir no terceiroProcure em Segundo se o método não existir em Primeiro

Mas se você tentar:

TypeError: Error when calling the metaclass bases
    Cannot create a consistent method resolution
order (MRO) for bases First, Second

questionAnswers(1)

yourAnswerToTheQuestion