Si escribe pato en Python, ¿debería probar isinstance?

Tiene una clase de Python que necesita una prueba de igualdad. Python debería usar duck-typing pero es (mejor / más preciso) incluir o excluir una prueba de instancia en eq función? Por ejemplo

class Trout(object):
    def __init__(self, value):
        self.value = value

    def __eq__(self, other):
        return isinstance(other, Trout) and self.value == other.value