code: func (s Constraints) Append(other Constraints) Constraints {
  	raw := make(version.Constraints, 0, len(s.raw)+len(other.raw))
  
  	// Since "raw" is a list of constraints that remove versions from the set,
  	// "Intersection" is implemented by concatenating together those lists,
  	// thus leaving behind only the versions not removed by either list.
  	raw = append(raw, s.raw...)
  	raw = append(raw, other.raw...)
  
  	// while the set is unordered, we sort these lexically for consistent output
  	sort.Slice(raw, func(i, j int) bool {
  		return raw[i].String() < raw[j].String()
  	})
  
  	return Constraints{raw}
  }
docs: // Append combines the receiving set with the given other set to produce
  // a set that is the intersection of both sets, which is to say that resulting
  // constraints contain only the versions that are members of both.