     }
 
     public func intersect(other: CountedSet<Element>) -> CountedSet<Element> {
-        var intersected = CountedSet<Element>(countedSet: self)
+        var intersected = self
         intersected.intersectInPlace(other)
 
         return intersected

    }

    public func union(other: CountedSet<Element>) -> CountedSet<Element> {
        var unionized = CountedSet<Element>(countedSet: self)
        unionized.unionInPlace(other)

        return unionized

    }

    public func exclusiveOr(other: CountedSet<Element>) -> CountedSet<Element> {
        var xored = self
        xored.exclusiveOrInPlace(other)

        return xored
