     ///
     /// :param arrays The arrays to source from.
     /// :return Array with all values merged, including duplicates.
-    class func merge<T>(#arrays: Array<T>...) -> Array<T> {
-        var result = Array<T>()
+    class func merge<T>(#arrays: [T]...) -> [T] {
+        var result = [T]()
         for arr in arrays {
             result += arr
         }

    ///
    /// :param dictionary The dictionary to source from.
    /// :return Array of keys from dictionary.
    class func keys<T, U>(dictionary: Dictionary<T, U>) -> [T] {
        var result : [T] = []
        for (key, _) in dictionary {
            result.insert(key, atIndex: 0)

    ///
    /// :param array The array to source from.
    /// :return Dictionary that contains the key generated from the element passed in the function.
    class func frequencies<T>(array: [T]) -> [T: Int] {
        return self.frequencies(array) { $0 }
    }
    
