code: func New(items ...interface{}) *Set {
  	set := pool.Get().(*Set)
  	for _, item := range items {
  		set.items[item] = struct{}{}
  	}
  	
  	if len(items) > 0 {
  		set.flattened = nil
  	}
  
  	return set
  }
docs: // New is the constructor for sets. It will pull from a reuseable memory pool if it can.
  // Takes a list of items to initialize the set with.