     /// remove the elements of the set that aren’t also in the given sequence.
     mutating func formIntersection<S: Sequence>(_ other: S) where S.Element == Element {
         
-        self = self.intersection(other)
+        self.elements.removeAll { !other.contains($0) }
     }
     
     

    }
    
    
    var count: Int {
        
        return self.elements.count
    }
    
    
    var isEmpty: Bool {
        
        return self.elements.isEmpty
    }
    
    
    var first: Element? {
        
        return self.elements.first
    }
    
    
    var last: Element? {
        
        return self.elements.last
    }
    
    
    
    // MARK: Methods
    
    /// whether the set contains the given element.
    func contains(_ element: Element) -> Bool {
        
        return self.elements.contains(element)
    }
    
    
    /// return the index where the specified element appears in the set.
    func index(of element: Element) -> Index? {
        
        return self.elements.index(of: element)
    }
    
    

    }
    
    
    
    // MARK: Collection Methods
    
    /// return the element at the specified position.
    subscript(_ index: Index) -> Element {
        
