func New[T comparable](values ...T) *HashMultiSet[T] {
	set := HashMultiSet[T]{data: make(map[T]int, len(values))}
	set.Add(values...)
	return &set
}
// New factory that creates a new Hash Multi Set
New factory that creates a new Hash Multi Set
// New factory that creates a new Hash Multi Set
func New[T comparable](values ...T) *HashMultiSet[T] {
	set := HashMultiSet[T]{data: make(map[T]int, len(values))}
	set.Add(values...)
	return &set
}
func New [ T comparable ] ( values ... T ) * HashMultiSet [ T ] { set := HashMultiSet [ T ] { data : make ( map [ T ] int , len ( values ) ) } set . Add ( values ... ) return & set }
New factory that creates a new Hash Multi Set
New factory that creates a new Hash Multi Set