type Set … // Clone creates a copy of the receiver. func (s *Set[K]) Clone() *Set[K] { … } // Destroy destroys the set. // // After Destroy, the Set should not be used again. func (s *Set[K]) Destroy() { … } // Contains reports whether s contains the given key. func (s *Set[K]) Contains(key K) bool { … } // Range calls f sequentially in ascending key order for all entries in the set. func (s *Set[K]) Range(f func(key K)) { … } // AddAll adds all elements from other to the receiver set. func (s *Set[K]) AddAll(other *Set[K]) { … } // Add adds an element to the set. func (s *Set[K]) Add(key K) { … } // Remove removes an element from the set. func (s *Set[K]) Remove(key K) { … }