docs: def hide_node(self, node):
          """
          Hides a node from the graph.  The incoming and outgoing edges of the
          node will also be hidden.  The node may be unhidden at some later time.
          """
          try:
              all_edges = self.all_edges(node)
              self.hidden_nodes[node] = (self.nodes[node], all_edges)
              for edge in all_edges:
                  self.hide_edge(edge)
              del self.nodes[node]
          except KeyError:
              raise GraphError('Invalid node %s' % node)