code: func (p Path) Compare(other Path) (cmp int) {
  	min := len(p)
  	if len(other) < min {
  		min = len(other)
  	}
  	for i := 0; i < min; i++ {
  		if cmp := strings.Compare(p[i], other[i]); cmp != 0 {
  			return cmp
  		}
  	}
  	if len(p) < len(other) {
  		return -1
  	}
  	if len(p) == len(other) {
  		return 0
  	}
  	return 1
  }
docs: // Compare performs lexigraphical comparison on p and other and returns -1 if p
  // is less than other, 0 if p is equal to other, or 1 if p is greater than
  // other.