code: func (p *Path) clone() *Path {
  	stack := p.stack
  	p.stack = stack[:len(stack):len(stack)]
  	return &Path{
  		stack:       stack,
  		qs:          p.qs,
  		baseContext: p.baseContext,
  	}
  }
docs: // Unexported clone method returns a *Path with a copy of the original stack,
  // with assumption that the new stack will be appended to.