code: func (n *node) String() string {
  	n.dependentsLock.RLock()
  	defer n.dependentsLock.RUnlock()
  	return fmt.Sprintf("%#v", n)
  }
docs: // String renders node as a string using fmt. Acquires a read lock to ensure the
  // reflective dump of dependents doesn't race with any concurrent writes.