code: func (s *set) Union(other Set) Set {
  	r := NewSet()
  	s.Foreach(func(x *Term) {
  		r.Add(x)
  	})
  	other.Foreach(func(x *Term) {
  		r.Add(x)
  	})
  	return r
  }
docs: // Union returns the set containing all elements of s and other.