func New[T comparable](values ...T) *HashSet[T] {
	set := HashSet[T]{data: make(map[T]struct{}, len(values))}
	set.Add(values...)
	return &set
}
// New factory that creates a hash set
New factory that creates a hash set
// New factory that creates a hash set
func New[T comparable](values ...T) *HashSet[T] {
	set := HashSet[T]{data: make(map[T]struct{}, len(values))}
	set.Add(values...)
	return &set
}
func New [ T comparable ] ( values ... T ) * HashSet [ T ] { set := HashSet [ T ] { data : make ( map [ T ] struct { } , len ( values ) ) } set . Add ( values ... ) return & set }
New factory that creates a hash set
New factory that creates a hash set