docs: def find_in_package(corenode, path):
      """Find a (core) node in a package tree.
      :param item: Node name or path, as in "node" or "node/subnode".
      """
      if not isinstance(corenode, core.Node):
          raise QuiltException("Corenode must be a valid Quilt package node. %r" % corenode)
  
      # Check for empty path
      if not path:
          return None
  
      try:
          node = corenode
          count = 0
          for part in path:
              if not is_nodename(part):
                  raise TypeError("Invalid node name: {!r}".format(part))
              node = node.children[part]
              count += 1
          return node
      except KeyError:
          return None
      except AttributeError:
          traversed = '/'.join(path[:count])
          raise TypeError("Not a GroupNode: Node at {!r}".format(traversed))