     /// :param arrays The arrays to perform xor on in order.
     /// :return Resulting array after performing xor.
     class func xor<T : Hashable>(arrays: [T]...) -> [T] {
-        var map : Dictionary<T, Bool> = Dictionary<T, Bool>()
+        var map : [T: Bool] = [T: Bool]()
         for arr in arrays {
             for elem in arr {
                 map[elem] = !map[elem]

    /// :return The difference between the first array and all the remaining arrays from the arrays params.
    class func difference<T : Hashable>(arrays: [T]...) -> [T] {
        var result : [T] = []
        var map : Dictionary<T, Int> = Dictionary<T, Int>()
        let firstArr : [T] = self.first(arrays)!
        let restArr : [[T]] = self.rest(arrays) as [[T]]
        

    func map(function: (AnyObject) -> AnyObject) -> Dollar {
        return self.queue {
            var result: [AnyObject] = []
            for elem : AnyObject in $0 as [AnyObject] {
                result += function(elem)
            }
            return result
