func (s *Set) Add(items ...interface{}) {
	if len(items) == 0 {
		return
	}
	s.l.Lock()
	defer s.l.Unlock()
	for _, item := range items {
		s.m[item] = keyExists
	}
}
Add includes the specified items (one or more) to the set. The underlying
Set s is modified. If passed nothing it silently returns.
package set
import "sync"
type Set struct {
	set
	l sync.RWMutex  
}
func newTS() *Set {
	s := &Set{}
	s.m = make(map[interface{}]struct{})
	var _ Interface = s
	return s
}