code: func (pe *PathExp) WithInstance(instance string) (*PathExp, error) {
  	parts, err := Split("instance", instance)
  	if err != nil {
  		return nil, err
  	}
  
  	segment, err := parseMultiple("instance", parts, true)
  	if err != nil {
  		return nil, err
  	}
  
  	return &PathExp{
  		Org:        pe.Org,
  		Project:    pe.Project,
  		Envs:       pe.Envs,
  		Services:   pe.Services,
  		Identities: pe.Identities,
  		Instances:  segment,
  	}, nil
  }
docs: // WithInstance clones a PathExp, replacing its instance with the parsed value
  // from the argument.
  //
  // XXX: this isn't really great. it would be nice to support all path types.