class Edge(EdgeBase):

    def __init__(self, left, right):
        super(Edge, self).__init__(a, b)
self._hash = hash(self.left) * hash(self.right)

def __hash__(self):
    return self._hash
How to provide additional initialization for a subclass of namedtuple?