docs: def add_vertex(self, v):
          """
          Add a vertex to the graph. The vertex must implement __hash__ and __eq__ as it will be stored in a set.
          :param v: vertex
          :return: graph owned vertex
          """
          if v not in self.adjacency:
              self.adjacency[v] = Vertex(v)
          return self.adjacency[v].vertex