func (s *HashSet[T]) Subtraction(ss *HashSet[T]) *HashSet[T] {
	new := s.Copy()
	for _, v := range ss.GetValues() {
		new.Remove(v)
	}
	return new
}
// Subtraction makes a set with the elements that are in the first set, but not the second
Subtraction makes a set with the elements that are in the first set, but not the second
// Subtraction makes a set with the elements that are in the first set but not the second
func (s *HashSet[T]) Subtraction(ss *HashSet[T]) *HashSet[T] {
	new := s.Copy()
	for _, v := range ss.GetValues() {
		new.Remove(v)
	}
	return new
}
func ( s * HashSet [ T ] ) Subtraction ( ss * HashSet [ T ] ) * HashSet [ T ] { new := s . Copy ( ) for _ , v := range ss . GetValues ( ) { new . Remove ( v ) } return new }
Subtraction makes a set with the elements that are in the first set, but not the second
Subtraction makes a set with the elements that are in the first set but not the second