     }
 }
 
-public func curry<First, Second, Third, Fourth, Fifth, Sixth, Seventh, Result>(_ uncurried:
-    @escaping (First, Second, Third, Fourth, Fifth, Sixth, Seventh) -> Result)
-    -> (First) -> (Second) -> (Third) -> (Fourth) -> (Fifth) -> (Sixth) -> (Seventh) -> Result {
-
-        return { first in { second in { third in { fourth in { fifth in { sixth in { seventh in
+public func curry<First, Second, Third, Fourth,
+                  Fifth, Sixth, Seventh, Result>(_ uncurried:
+
+    @escaping (First, Second, Third, Fourth,
+               Fifth, Sixth, Seventh) -> Result)
+    -> (First) -> (Second) -> (Third) -> (Fourth)
+    -> (Fifth) -> (Sixth) -> (Seventh) -> Result {
+
+        return { first in { second in { third in { fourth
+            in { fifth in { sixth in { seventh in
+
                                 return uncurried(first, second, third, fourth, fifth, sixth, seventh)
                             }
                         }

//  Copyright © 2017 Tigerpixel Ltd. All rights reserved.
//

public func curry<First, Second, Result>(_ uncurried:
    @escaping (First, Second) -> Result)
    -> (First) -> (Second) -> Result {

    return { first in { second in
            return uncurried(first, second)
        }
    }
}

public func curry<First, Second, Third, Result>(_ uncurried:
    @escaping (First, Second, Third) -> Result)
    -> (First) -> (Second) -> (Third) -> Result {

    return { first in { second in { third in
                return uncurried(first, second, third)
            }
        }

}

public func curry<First, Second, Third, Fourth, Fifth, Sixth, Seventh, Eighth, Ninth, Tenth, Result>(_ uncurried:

    @escaping (First, Second, Third, Fourth,
               Fifth, Sixth, Seventh, Eighth,
               Ninth, Tenth) -> Result)
    -> (First) -> (Second) -> (Third) -> (Fourth)
    -> (Fifth) -> (Sixth) -> (Seventh) -> (Eighth)
    -> (Ninth) -> (Tenth) -> Result {

        return { first in { second in { third in { fourth
            in { fifth in { sixth in { seventh in { eighth
            in { ninth in { tenth in

                                            return uncurried(first, second, third, fourth, fifth,
                                                             sixth, seventh, eighth, ninth, tenth)
                                        }
                                    }
                                }
