func (s *Set) Len() int {
	return len(s.List())
}
Len returns the number of items in a set.
package set
import "sync"
type Set struct {
	m map[interface{}]struct{}
	sync.RWMutex
}
func New() *Set {
	return &Set{
		m: make(map[interface{}]struct{}),
	}
}
func (s *Set) Add(item interface{}) {
	s.Lock()
	defer s.Unlock()
	s.m[item] = struct{}{}
}
func (s *Set) Remove(item interface{}) {
	s.Lock()
	defer s.Unlock()
	delete(s.m, item)
}
func (s *Set) Has(item interface{}) bool {
	s.RLock()
	defer s.RUnlock()
	_, ok := s.m[item]
	return ok
}