code: func (set StringSet) Intersect(other StringSet) StringSet {
  	intersection := NewStringSet()
  	// loop over smaller set
  	if set.Cardinality() < other.Cardinality() {
  		for elem := range set {
  			if other.Contains(elem) {
  				intersection.Add(elem)
  			}
  		}
  	} else {
  		for elem := range other {
  			if set.Contains(elem) {
  				intersection.Add(elem)
  			}
  		}
  	}
  	return intersection
  }
docs: // Returns a new set with items that exist only in both sets.