func (s Int32) HasAll(items ...int32) bool {
	for _, item := range items {
		if !s.Has(item) {
			return false
		}
	}
	return true
}
HasAll returns true if and only if all items are contained in the set.
package sets
import (
	"reflect"
	"sort"
)
type Int32 map[int32]Empty
func NewInt32(items ...int32) Int32 {
	ss := Int32{}
	ss.Insert(items...)
	return ss
}
func Int32KeySet(theMap interface{}) Int32 {
	v := reflect.ValueOf(theMap)
	ret := Int32{}
	for _, keyValue := range v.MapKeys() {
		ret.Insert(keyValue.Interface().(int32))
	}
	return ret
}
func (s Int32) Insert(items ...int32) Int32 {
	for _, item := range items {
		s[item] = Empty{}
	}
	return s
}
func (s Int32) Delete(items ...int32) Int32 {
	for _, item := range items {
		delete(s, item)
	}
	return s
}
func (s Int32) Has(item int32) bool {
	_, contained := s[item]
	return contained
}