code: func (s *set) Compare(other Value) int {
  	o1 := sortOrder(s)
  	o2 := sortOrder(other)
  	if o1 < o2 {
  		return -1
  	} else if o1 > o2 {
  		return 1
  	}
  	t := other.(*set)
  	sort.Sort(termSlice(s.keys))
  	sort.Sort(termSlice(t.keys))
  	return termSliceCompare(s.keys, t.keys)
  }
docs: // Compare compares s to other, return <0, 0, or >0 if it is less than, equal to,
  // or greater than other.