docs: def restore_edge(self, edge):
          """
          Restores a previously hidden edge back into the graph.
          """
          try:
              head_id, tail_id, data = self.hidden_edges[edge]
              self.nodes[tail_id][0].append(edge)
              self.nodes[head_id][1].append(edge)
              self.edges[edge] = head_id, tail_id, data
              del self.hidden_edges[edge]
          except KeyError:
              raise GraphError('Invalid edge %s' % edge)