'Returns True if and only if an arbitrary remaining node can
potentially be joined with some other remaining node.'

def suitable_edge(self):

    nodes = iter(self.remaining_degree)
    u = next(nodes)
    return any(((v not in self.graph[u]) for v in nodes))
