docs: def edges(self):
          """
          Edges of this graph, in canonical order.
          """
          canonical_edges = set()
          for v1, neighbours in self._vertices.items():
              for v2 in neighbours:
                  edge = self.canonical_order((v1, v2))
                  canonical_edges.add(edge)
          return canonical_edges