code: func (g *Graph) Node(k *Key) (*Node, error) {
  	if !g.finalized {
  		return nil, ErrNotFinalized
  	}
  	if err := g.validateKey("key", k); err != nil {
  		return nil, err
  	}
  	switch n := g.nodes[k]; {
  	case n == nil:
  		return nil, nil
  	case !n.Declared():
  		panic(fmt.Errorf("impossible not-yet-declared node in a finalized graph: %s", n.Key))
  	default:
  		return n, nil
  	}
  }
docs: //// API to query the graph after it is finalized.
  // Node returns a node by the key or (nil, nil) if there's no such node.
  //
  // Trying to use Node before the graph has been finalized is an error.