code: func (n *Node) ResolveLink(path []string) (*node.Link, []string, error) {
  	obj, rest, err := n.Resolve(path)
  	if err != nil {
  		return nil, nil, err
  	}
  
  	lnk, ok := obj.(*node.Link)
  	if !ok {
  		return nil, rest, ErrNonLink
  	}
  
  	return lnk, rest, nil
  }
docs: // ResolveLink resolves a path and returns the raw Link at the end, as well as
  // the possible tail of the path that was not resolved.