     /// This method returns a dictionary of values in an array mapping to the
     /// total number of occurrences in the array.
     ///
-    /// :param: array The array to source from.
-    /// :return: Dictionary that contains the key generated from the element passed in the function.
+    /// - parameter array: The array to source from.
+    /// - returns: Dictionary that contains the key generated from the element passed in the function.
     public class func frequencies<T>(array: [T]) -> [T: Int] {
         return self.frequencies(array) { $0 }
     }

    /// Creates an array excluding all values of the provided arrays with or without order
    /// Without order difference is much faster and at times 100% than difference with order
    ///
    /// :param: arrays The arrays to difference between.
    /// :param: inOrder Optional Paramter which is true by default
    /// :return: The difference between the first array and all the remaining arrays from the arrays params.
    public class func difference<T: Hashable>(arrays: [T]..., inOrder: Bool = true) -> [T] {
        if inOrder {
            return self.differenceInOrder(arrays)


    /// Retrieves the minimum value in an array.
    ///
    /// - parameter array: The array to source from.
    /// - returns: Minimum value from array.
    public class func min<T: Comparable>(array: [T]) -> T? {
        if var minVal = array.first {
            for elem in array {
