{-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies, FlexibleInstances #-}
module Data.Tuple.Curry where
import Data.Tuple.OneTuple

-- | Tuple curry/uncurry.
class Curry a b | a -> b where
    curryN   :: a -> b
    uncurryN :: b -> a

instance Curry (OneTuple a -> b) (a -> b) where
    curryN :: (OneTuple a -> b) -> a -> b
curryN f :: OneTuple a -> b
f a :: a
a = OneTuple a -> b
f (a -> OneTuple a
forall a. a -> OneTuple a
OneTuple a
a)
    uncurryN :: (a -> b) -> OneTuple a -> b
uncurryN f :: a -> b
f ~(OneTuple a :: a
a) = a -> b
f a
a

--snip-----------------

---- Machine generated code below, see Tools/MkTuple.hs

---- mkTuple curry 32

instance Curry ((a1,a2) -> r) (a1->a2 -> r) where
    curryN :: ((a1, a2) -> r) -> a1 -> a2 -> r
curryN f :: (a1, a2) -> r
f a1 :: a1
a1 a2 :: a2
a2 = (a1, a2) -> r
f (a1
a1,a2
a2)
    uncurryN :: (a1 -> a2 -> r) -> (a1, a2) -> r
uncurryN f :: a1 -> a2 -> r
f ~(a1 :: a1
a1,a2 :: a2
a2) = a1 -> a2 -> r
f a1
a1 a2
a2
instance Curry ((a1,a2,a3) -> r) (a1->a2->a3 -> r) where
    curryN :: ((a1, a2, a3) -> r) -> a1 -> a2 -> a3 -> r
curryN f :: (a1, a2, a3) -> r
f a1 :: a1
a1 a2 :: a2
a2 a3 :: a3
a3 = (a1, a2, a3) -> r
f (a1
a1,a2
a2,a3
a3)
    uncurryN :: (a1 -> a2 -> a3 -> r) -> (a1, a2, a3) -> r
uncurryN f :: a1 -> a2 -> a3 -> r
f ~(a1 :: a1
a1,a2 :: a2
a2,a3 :: a3
a3) = a1 -> a2 -> a3 -> r
f a1
a1 a2
a2 a3
a3
instance Curry ((a1,a2,a3,a4) -> r) (a1->a2->a3->a4 -> r) where
    curryN :: ((a1, a2, a3, a4) -> r) -> a1 -> a2 -> a3 -> a4 -> r
curryN f :: (a1, a2, a3, a4) -> r
f a1 :: a1
a1 a2 :: a2
a2 a3 :: a3
a3 a4 :: a4
a4 = (a1, a2, a3, a4) -> r
f (a1
a1,a2
a2,a3
a3,a4
a4)
    uncurryN :: (a1 -> a2 -> a3 -> a4 -> r) -> (a1, a2, a3, a4) -> r
uncurryN f :: a1 -> a2 -> a3 -> a4 -> r
f ~(a1 :: a1
a1,a2 :: a2
a2,a3 :: a3
a3,a4 :: a4
a4) = a1 -> a2 -> a3 -> a4 -> r
f a1
a1 a2
a2 a3
a3 a4
a4
instance Curry ((a1,a2,a3,a4,a5) -> r) (a1->a2->a3->a4->a5 -> r) where
    curryN :: ((a1, a2, a3, a4, a5) -> r) -> a1 -> a2 -> a3 -> a4 -> a5 -> r
curryN f :: (a1, a2, a3, a4, a5) -> r
f a1 :: a1
a1 a2 :: a2
a2 a3 :: a3
a3 a4 :: a4
a4 a5 :: a5
a5 = (a1, a2, a3, a4, a5) -> r
f (a1
a1,a2
a2,a3
a3,a4
a4,a5
a5)
    uncurryN :: (a1 -> a2 -> a3 -> a4 -> a5 -> r) -> (a1, a2, a3, a4, a5) -> r
uncurryN f :: a1 -> a2 -> a3 -> a4 -> a5 -> r
f ~(a1 :: a1
a1,a2 :: a2
a2,a3 :: a3
a3,a4 :: a4
a4,a5 :: a5
a5) = a1 -> a2 -> a3 -> a4 -> a5 -> r
f a1
a1 a2
a2 a3
a3 a4
a4 a5
a5
instance Curry ((a1,a2,a3,a4,a5,a6) -> r) (a1->a2->a3->a4->a5->a6 -> r) where
    curryN :: ((a1, a2, a3, a4, a5, a6) -> r)
-> a1 -> a2 -> a3 -> a4 -> a5 -> a6 -> r
curryN f :: (a1, a2, a3, a4, a5, a6) -> r
f a1 :: a1
a1 a2 :: a2
a2 a3 :: a3
a3 a4 :: a4
a4 a5 :: a5
a5 a6 :: a6
a6 = (a1, a2, a3, a4, a5, a6) -> r
f (a1
a1,a2
a2,a3
a3,a4
a4,a5
a5,a6
a6)
    uncurryN :: (a1 -> a2 -> a3 -> a4 -> a5 -> a6 -> r)
-> (a1, a2, a3, a4, a5, a6) -> r
uncurryN f :: a1 -> a2 -> a3 -> a4 -> a5 -> a6 -> r
f ~(a1 :: a1
a1,a2 :: a2
a2,a3 :: a3
a3,a4 :: a4
a4,a5 :: a5
a5,a6 :: a6
a6) = a1 -> a2 -> a3 -> a4 -> a5 -> a6 -> r
f a1
a1 a2
a2 a3
a3 a4
a4 a5
a5 a6
a6
instance Curry ((a1,a2,a3,a4,a5,a6,a7) -> r) (a1->a2->a3->a4->a5->a6->a7 -> r) where
    curryN :: ((a1, a2, a3, a4, a5, a6, a7) -> r)
-> a1 -> a2 -> a3 -> a4 -> a5 -> a6 -> a7 -> r
curryN f :: (a1, a2, a3, a4, a5, a6, a7) -> r
f a1 :: a1
a1 a2 :: a2
a2 a3 :: a3
a3 a4 :: a4
a4 a5 :: a5
a5 a6 :: a6
a6 a7 :: a7
a7 = (a1, a2, a3, a4, a5, a6, a7) -> r
f (a1
a1,a2
a2,a3
a3,a4
a4,a5
a5,a6
a6,a7
a7)
    uncurryN :: (a1 -> a2 -> a3 -> a4 -> a5 -> a6 -> a7 -> r)
-> (a1, a2, a3, a4, a5, a6, a7) -> r
uncurryN f :: a1 -> a2 -> a3 -> a4 -> a5 -> a6 -> a7 -> r
f ~(a1 :: a1
a1,a2 :: a2
a2,a3 :: a3
a3,a4 :: a4
a4,a5 :: a5
a5,a6 :: a6
a6,a7 :: a7
a7) = a1 -> a2 -> a3 -> a4 -> a5 -> a6 -> a7 -> r
f a1
a1 a2
a2 a3
a3 a4
a4 a5
a5 a6
a6 a7
a7
instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8) -> r) (a1->a2->a3->a4->a5->a6->a7->a8 -> r) where
    curryN :: ((a1, a2, a3, a4, a5, a6, a7, a8) -> r)
-> a1 -> a2 -> a3 -> a4 -> a5 -> a6 -> a7 -> a8 -> r
curryN f :: (a1, a2, a3, a4, a5, a6, a7, a8) -> r
f a1 :: a1
a1 a2 :: a2
a2 a3 :: a3
a3 a4 :: a4
a4 a5 :: a5
a5 a6 :: a6
a6 a7 :: a7
a7 a8 :: a8
a8 = (a1, a2, a3, a4, a5, a6, a7, a8) -> r
f (a1
a1,a2
a2,a3
a3,a4
a4,a5
a5,a6
a6,a7
a7,a8
a8)
    uncurryN :: (a1 -> a2 -> a3 -> a4 -> a5 -> a6 -> a7 -> a8 -> r)
-> (a1, a2, a3, a4, a5, a6, a7, a8) -> r
uncurryN f :: a1 -> a2 -> a3 -> a4 -> a5 -> a6 -> a7 -> a8 -> r
f ~(a1 :: a1
a1,a2 :: a2
a2,a3 :: a3
a3,a4 :: a4
a4,a5 :: a5
a5,a6 :: a6
a6,a7 :: a7
a7,a8 :: a8
a8) = a1 -> a2 -> a3 -> a4 -> a5 -> a6 -> a7 -> a8 -> r
f a1
a1 a2
a2 a3
a3 a4
a4 a5
a5 a6
a6 a7
a7 a8
a8
instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9 -> r) where
    curryN :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9) -> r)
-> a1 -> a2 -> a3 -> a4 -> a5 -> a6 -> a7 -> a8 -> a9 -> r
curryN f :: (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> r
f a1 :: a1
a1 a2 :: a2
a2 a3 :: a3
a3 a4 :: a4
a4 a5 :: a5
a5 a6 :: a6
a6 a7 :: a7
a7 a8 :: a8
a8 a9 :: a9
a9 = (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> r
f (a1
a1,a2
a2,a3
a3,a4
a4,a5
a5,a6
a6,a7
a7,a8
a8,a9
a9)
    uncurryN :: (a1 -> a2 -> a3 -> a4 -> a5 -> a6 -> a7 -> a8 -> a9 -> r)
-> (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> r
uncurryN f :: a1 -> a2 -> a3 -> a4 -> a5 -> a6 -> a7 -> a8 -> a9 -> r
f ~(a1 :: a1
a1,a2 :: a2
a2,a3 :: a3
a3,a4 :: a4
a4,a5 :: a5
a5,a6 :: a6
a6,a7 :: a7
a7,a8 :: a8
a8,a9 :: a9
a9) = a1 -> a2 -> a3 -> a4 -> a5 -> a6 -> a7 -> a8 -> a9 -> r
f a1
a1 a2
a2 a3
a3 a4
a4 a5
a5 a6
a6 a7
a7 a8
a8 a9
a9
instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9->a10 -> r) where
    curryN :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) -> r)
-> a1 -> a2 -> a3 -> a4 -> a5 -> a6 -> a7 -> a8 -> a9 -> a10 -> r
curryN f :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) -> r
f a1 :: a1
a1 a2 :: a2
a2 a3 :: a3
a3 a4 :: a4
a4 a5 :: a5
a5 a6 :: a6
a6 a7 :: a7
a7 a8 :: a8
a8 a9 :: a9
a9 a10 :: a10
a10 = (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) -> r
f (a1
a1,a2
a2,a3
a3,a4
a4,a5
a5,a6
a6,a7
a7,a8
a8,a9
a9,a10
a10)
    uncurryN :: (a1 -> a2 -> a3 -> a4 -> a5 -> a6 -> a7 -> a8 -> a9 -> a10 -> r)
-> (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) -> r
uncurryN f :: a1 -> a2 -> a3 -> a4 -> a5 -> a6 -> a7 -> a8 -> a9 -> a10 -> r
f ~(a1 :: a1
a1,a2 :: a2
a2,a3 :: a3
a3,a4 :: a4
a4,a5 :: a5
a5,a6 :: a6
a6,a7 :: a7
a7,a8 :: a8
a8,a9 :: a9
a9,a10 :: a10
a10) = a1 -> a2 -> a3 -> a4 -> a5 -> a6 -> a7 -> a8 -> a9 -> a10 -> r
f a1
a1 a2
a2 a3
a3 a4
a4 a5
a5 a6
a6 a7
a7 a8
a8 a9
a9 a10
a10
instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9->a10->a11 -> r) where
    curryN :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) -> r)
-> a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> r
curryN f :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) -> r
f a1 :: a1
a1 a2 :: a2
a2 a3 :: a3
a3 a4 :: a4
a4 a5 :: a5
a5 a6 :: a6
a6 a7 :: a7
a7 a8 :: a8
a8 a9 :: a9
a9 a10 :: a10
a10 a11 :: a11
a11 = (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) -> r
f (a1
a1,a2
a2,a3
a3,a4
a4,a5
a5,a6
a6,a7
a7,a8
a8,a9
a9,a10
a10,a11
a11)
    uncurryN :: (a1
 -> a2 -> a3 -> a4 -> a5 -> a6 -> a7 -> a8 -> a9 -> a10 -> a11 -> r)
-> (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) -> r
uncurryN f :: a1
-> a2 -> a3 -> a4 -> a5 -> a6 -> a7 -> a8 -> a9 -> a10 -> a11 -> r
f ~(a1 :: a1
a1,a2 :: a2
a2,a3 :: a3
a3,a4 :: a4
a4,a5 :: a5
a5,a6 :: a6
a6,a7 :: a7
a7,a8 :: a8
a8,a9 :: a9
a9,a10 :: a10
a10,a11 :: a11
a11) = a1
-> a2 -> a3 -> a4 -> a5 -> a6 -> a7 -> a8 -> a9 -> a10 -> a11 -> r
f a1
a1 a2
a2 a3
a3 a4
a4 a5
a5 a6
a6 a7
a7 a8
a8 a9
a9 a10
a10 a11
a11
instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9->a10->a11->a12 -> r) where
    curryN :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) -> r)
-> a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> r
curryN f :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) -> r
f a1 :: a1
a1 a2 :: a2
a2 a3 :: a3
a3 a4 :: a4
a4 a5 :: a5
a5 a6 :: a6
a6 a7 :: a7
a7 a8 :: a8
a8 a9 :: a9
a9 a10 :: a10
a10 a11 :: a11
a11 a12 :: a12
a12 = (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) -> r
f (a1
a1,a2
a2,a3
a3,a4
a4,a5
a5,a6
a6,a7
a7,a8
a8,a9
a9,a10
a10,a11
a11,a12
a12)
    uncurryN :: (a1
 -> a2
 -> a3
 -> a4
 -> a5
 -> a6
 -> a7
 -> a8
 -> a9
 -> a10
 -> a11
 -> a12
 -> r)
-> (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) -> r
uncurryN f :: a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> r
f ~(a1 :: a1
a1,a2 :: a2
a2,a3 :: a3
a3,a4 :: a4
a4,a5 :: a5
a5,a6 :: a6
a6,a7 :: a7
a7,a8 :: a8
a8,a9 :: a9
a9,a10 :: a10
a10,a11 :: a11
a11,a12 :: a12
a12) = a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> r
f a1
a1 a2
a2 a3
a3 a4
a4 a5
a5 a6
a6 a7
a7 a8
a8 a9
a9 a10
a10 a11
a11 a12
a12
instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9->a10->a11->a12->a13 -> r) where
    curryN :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) -> r)
-> a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> r
curryN f :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) -> r
f a1 :: a1
a1 a2 :: a2
a2 a3 :: a3
a3 a4 :: a4
a4 a5 :: a5
a5 a6 :: a6
a6 a7 :: a7
a7 a8 :: a8
a8 a9 :: a9
a9 a10 :: a10
a10 a11 :: a11
a11 a12 :: a12
a12 a13 :: a13
a13 = (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) -> r
f (a1
a1,a2
a2,a3
a3,a4
a4,a5
a5,a6
a6,a7
a7,a8
a8,a9
a9,a10
a10,a11
a11,a12
a12,a13
a13)
    uncurryN :: (a1
 -> a2
 -> a3
 -> a4
 -> a5
 -> a6
 -> a7
 -> a8
 -> a9
 -> a10
 -> a11
 -> a12
 -> a13
 -> r)
-> (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) -> r
uncurryN f :: a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> r
f ~(a1 :: a1
a1,a2 :: a2
a2,a3 :: a3
a3,a4 :: a4
a4,a5 :: a5
a5,a6 :: a6
a6,a7 :: a7
a7,a8 :: a8
a8,a9 :: a9
a9,a10 :: a10
a10,a11 :: a11
a11,a12 :: a12
a12,a13 :: a13
a13) = a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> r
f a1
a1 a2
a2 a3
a3 a4
a4 a5
a5 a6
a6 a7
a7 a8
a8 a9
a9 a10
a10 a11
a11 a12
a12 a13
a13
instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9->a10->a11->a12->a13->a14 -> r) where
    curryN :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14)
 -> r)
-> a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> r
curryN f :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) -> r
f a1 :: a1
a1 a2 :: a2
a2 a3 :: a3
a3 a4 :: a4
a4 a5 :: a5
a5 a6 :: a6
a6 a7 :: a7
a7 a8 :: a8
a8 a9 :: a9
a9 a10 :: a10
a10 a11 :: a11
a11 a12 :: a12
a12 a13 :: a13
a13 a14 :: a14
a14 = (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) -> r
f (a1
a1,a2
a2,a3
a3,a4
a4,a5
a5,a6
a6,a7
a7,a8
a8,a9
a9,a10
a10,a11
a11,a12
a12,a13
a13,a14
a14)
    uncurryN :: (a1
 -> a2
 -> a3
 -> a4
 -> a5
 -> a6
 -> a7
 -> a8
 -> a9
 -> a10
 -> a11
 -> a12
 -> a13
 -> a14
 -> r)
-> (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14)
-> r
uncurryN f :: a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> r
f ~(a1 :: a1
a1,a2 :: a2
a2,a3 :: a3
a3,a4 :: a4
a4,a5 :: a5
a5,a6 :: a6
a6,a7 :: a7
a7,a8 :: a8
a8,a9 :: a9
a9,a10 :: a10
a10,a11 :: a11
a11,a12 :: a12
a12,a13 :: a13
a13,a14 :: a14
a14) = a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> r
f a1
a1 a2
a2 a3
a3 a4
a4 a5
a5 a6
a6 a7
a7 a8
a8 a9
a9 a10
a10 a11
a11 a12
a12 a13
a13 a14
a14
instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9->a10->a11->a12->a13->a14->a15 -> r) where
    curryN :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15)
 -> r)
-> a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> r
curryN f :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15)
-> r
f a1 :: a1
a1 a2 :: a2
a2 a3 :: a3
a3 a4 :: a4
a4 a5 :: a5
a5 a6 :: a6
a6 a7 :: a7
a7 a8 :: a8
a8 a9 :: a9
a9 a10 :: a10
a10 a11 :: a11
a11 a12 :: a12
a12 a13 :: a13
a13 a14 :: a14
a14 a15 :: a15
a15 = (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15)
-> r
f (a1
a1,a2
a2,a3
a3,a4
a4,a5
a5,a6
a6,a7
a7,a8
a8,a9
a9,a10
a10,a11
a11,a12
a12,a13
a13,a14
a14,a15
a15)
    uncurryN :: (a1
 -> a2
 -> a3
 -> a4
 -> a5
 -> a6
 -> a7
 -> a8
 -> a9
 -> a10
 -> a11
 -> a12
 -> a13
 -> a14
 -> a15
 -> r)
-> (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
    a15)
-> r
uncurryN f :: a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> r
f ~(a1 :: a1
a1,a2 :: a2
a2,a3 :: a3
a3,a4 :: a4
a4,a5 :: a5
a5,a6 :: a6
a6,a7 :: a7
a7,a8 :: a8
a8,a9 :: a9
a9,a10 :: a10
a10,a11 :: a11
a11,a12 :: a12
a12,a13 :: a13
a13,a14 :: a14
a14,a15 :: a15
a15) = a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> r
f a1
a1 a2
a2 a3
a3 a4
a4 a5
a5 a6
a6 a7
a7 a8
a8 a9
a9 a10
a10 a11
a11 a12
a12 a13
a13 a14
a14 a15
a15
instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9->a10->a11->a12->a13->a14->a15->a16 -> r) where
    curryN :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
  a16)
 -> r)
-> a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> r
curryN f :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
 a16)
-> r
f a1 :: a1
a1 a2 :: a2
a2 a3 :: a3
a3 a4 :: a4
a4 a5 :: a5
a5 a6 :: a6
a6 a7 :: a7
a7 a8 :: a8
a8 a9 :: a9
a9 a10 :: a10
a10 a11 :: a11
a11 a12 :: a12
a12 a13 :: a13
a13 a14 :: a14
a14 a15 :: a15
a15 a16 :: a16
a16 = (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
 a16)
-> r
f (a1
a1,a2
a2,a3
a3,a4
a4,a5
a5,a6
a6,a7
a7,a8
a8,a9
a9,a10
a10,a11
a11,a12
a12,a13
a13,a14
a14,a15
a15,a16
a16)
    uncurryN :: (a1
 -> a2
 -> a3
 -> a4
 -> a5
 -> a6
 -> a7
 -> a8
 -> a9
 -> a10
 -> a11
 -> a12
 -> a13
 -> a14
 -> a15
 -> a16
 -> r)
-> (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
    a15, a16)
-> r
uncurryN f :: a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> r
f ~(a1 :: a1
a1,a2 :: a2
a2,a3 :: a3
a3,a4 :: a4
a4,a5 :: a5
a5,a6 :: a6
a6,a7 :: a7
a7,a8 :: a8
a8,a9 :: a9
a9,a10 :: a10
a10,a11 :: a11
a11,a12 :: a12
a12,a13 :: a13
a13,a14 :: a14
a14,a15 :: a15
a15,a16 :: a16
a16) = a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> r
f a1
a1 a2
a2 a3
a3 a4
a4 a5
a5 a6
a6 a7
a7 a8
a8 a9
a9 a10
a10 a11
a11 a12
a12 a13
a13 a14
a14 a15
a15 a16
a16
instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9->a10->a11->a12->a13->a14->a15->a16->a17 -> r) where
    curryN :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
  a16, a17)
 -> r)
-> a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> r
curryN f :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
 a16, a17)
-> r
f a1 :: a1
a1 a2 :: a2
a2 a3 :: a3
a3 a4 :: a4
a4 a5 :: a5
a5 a6 :: a6
a6 a7 :: a7
a7 a8 :: a8
a8 a9 :: a9
a9 a10 :: a10
a10 a11 :: a11
a11 a12 :: a12
a12 a13 :: a13
a13 a14 :: a14
a14 a15 :: a15
a15 a16 :: a16
a16 a17 :: a17
a17 = (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
 a16, a17)
-> r
f (a1
a1,a2
a2,a3
a3,a4
a4,a5
a5,a6
a6,a7
a7,a8
a8,a9
a9,a10
a10,a11
a11,a12
a12,a13
a13,a14
a14,a15
a15,a16
a16,a17
a17)
    uncurryN :: (a1
 -> a2
 -> a3
 -> a4
 -> a5
 -> a6
 -> a7
 -> a8
 -> a9
 -> a10
 -> a11
 -> a12
 -> a13
 -> a14
 -> a15
 -> a16
 -> a17
 -> r)
-> (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
    a15, a16, a17)
-> r
uncurryN f :: a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> r
f ~(a1 :: a1
a1,a2 :: a2
a2,a3 :: a3
a3,a4 :: a4
a4,a5 :: a5
a5,a6 :: a6
a6,a7 :: a7
a7,a8 :: a8
a8,a9 :: a9
a9,a10 :: a10
a10,a11 :: a11
a11,a12 :: a12
a12,a13 :: a13
a13,a14 :: a14
a14,a15 :: a15
a15,a16 :: a16
a16,a17 :: a17
a17) = a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> r
f a1
a1 a2
a2 a3
a3 a4
a4 a5
a5 a6
a6 a7
a7 a8
a8 a9
a9 a10
a10 a11
a11 a12
a12 a13
a13 a14
a14 a15
a15 a16
a16 a17
a17
instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9->a10->a11->a12->a13->a14->a15->a16->a17->a18 -> r) where
    curryN :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
  a16, a17, a18)
 -> r)
-> a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> r
curryN f :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
 a16, a17, a18)
-> r
f a1 :: a1
a1 a2 :: a2
a2 a3 :: a3
a3 a4 :: a4
a4 a5 :: a5
a5 a6 :: a6
a6 a7 :: a7
a7 a8 :: a8
a8 a9 :: a9
a9 a10 :: a10
a10 a11 :: a11
a11 a12 :: a12
a12 a13 :: a13
a13 a14 :: a14
a14 a15 :: a15
a15 a16 :: a16
a16 a17 :: a17
a17 a18 :: a18
a18 = (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
 a16, a17, a18)
-> r
f (a1
a1,a2
a2,a3
a3,a4
a4,a5
a5,a6
a6,a7
a7,a8
a8,a9
a9,a10
a10,a11
a11,a12
a12,a13
a13,a14
a14,a15
a15,a16
a16,a17
a17,a18
a18)
    uncurryN :: (a1
 -> a2
 -> a3
 -> a4
 -> a5
 -> a6
 -> a7
 -> a8
 -> a9
 -> a10
 -> a11
 -> a12
 -> a13
 -> a14
 -> a15
 -> a16
 -> a17
 -> a18
 -> r)
-> (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
    a15, a16, a17, a18)
-> r
uncurryN f :: a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> r
f ~(a1 :: a1
a1,a2 :: a2
a2,a3 :: a3
a3,a4 :: a4
a4,a5 :: a5
a5,a6 :: a6
a6,a7 :: a7
a7,a8 :: a8
a8,a9 :: a9
a9,a10 :: a10
a10,a11 :: a11
a11,a12 :: a12
a12,a13 :: a13
a13,a14 :: a14
a14,a15 :: a15
a15,a16 :: a16
a16,a17 :: a17
a17,a18 :: a18
a18) = a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> r
f a1
a1 a2
a2 a3
a3 a4
a4 a5
a5 a6
a6 a7
a7 a8
a8 a9
a9 a10
a10 a11
a11 a12
a12 a13
a13 a14
a14 a15
a15 a16
a16 a17
a17 a18
a18
instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9->a10->a11->a12->a13->a14->a15->a16->a17->a18->a19 -> r) where
    curryN :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
  a16, a17, a18, a19)
 -> r)
-> a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> r
curryN f :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
 a16, a17, a18, a19)
-> r
f a1 :: a1
a1 a2 :: a2
a2 a3 :: a3
a3 a4 :: a4
a4 a5 :: a5
a5 a6 :: a6
a6 a7 :: a7
a7 a8 :: a8
a8 a9 :: a9
a9 a10 :: a10
a10 a11 :: a11
a11 a12 :: a12
a12 a13 :: a13
a13 a14 :: a14
a14 a15 :: a15
a15 a16 :: a16
a16 a17 :: a17
a17 a18 :: a18
a18 a19 :: a19
a19 = (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
 a16, a17, a18, a19)
-> r
f (a1
a1,a2
a2,a3
a3,a4
a4,a5
a5,a6
a6,a7
a7,a8
a8,a9
a9,a10
a10,a11
a11,a12
a12,a13
a13,a14
a14,a15
a15,a16
a16,a17
a17,a18
a18,a19
a19)
    uncurryN :: (a1
 -> a2
 -> a3
 -> a4
 -> a5
 -> a6
 -> a7
 -> a8
 -> a9
 -> a10
 -> a11
 -> a12
 -> a13
 -> a14
 -> a15
 -> a16
 -> a17
 -> a18
 -> a19
 -> r)
-> (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
    a15, a16, a17, a18, a19)
-> r
uncurryN f :: a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> r
f ~(a1 :: a1
a1,a2 :: a2
a2,a3 :: a3
a3,a4 :: a4
a4,a5 :: a5
a5,a6 :: a6
a6,a7 :: a7
a7,a8 :: a8
a8,a9 :: a9
a9,a10 :: a10
a10,a11 :: a11
a11,a12 :: a12
a12,a13 :: a13
a13,a14 :: a14
a14,a15 :: a15
a15,a16 :: a16
a16,a17 :: a17
a17,a18 :: a18
a18,a19 :: a19
a19) = a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> r
f a1
a1 a2
a2 a3
a3 a4
a4 a5
a5 a6
a6 a7
a7 a8
a8 a9
a9 a10
a10 a11
a11 a12
a12 a13
a13 a14
a14 a15
a15 a16
a16 a17
a17 a18
a18 a19
a19
instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9->a10->a11->a12->a13->a14->a15->a16->a17->a18->a19->a20 -> r) where
    curryN :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
  a16, a17, a18, a19, a20)
 -> r)
-> a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> r
curryN f :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
 a16, a17, a18, a19, a20)
-> r
f a1 :: a1
a1 a2 :: a2
a2 a3 :: a3
a3 a4 :: a4
a4 a5 :: a5
a5 a6 :: a6
a6 a7 :: a7
a7 a8 :: a8
a8 a9 :: a9
a9 a10 :: a10
a10 a11 :: a11
a11 a12 :: a12
a12 a13 :: a13
a13 a14 :: a14
a14 a15 :: a15
a15 a16 :: a16
a16 a17 :: a17
a17 a18 :: a18
a18 a19 :: a19
a19 a20 :: a20
a20 = (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
 a16, a17, a18, a19, a20)
-> r
f (a1
a1,a2
a2,a3
a3,a4
a4,a5
a5,a6
a6,a7
a7,a8
a8,a9
a9,a10
a10,a11
a11,a12
a12,a13
a13,a14
a14,a15
a15,a16
a16,a17
a17,a18
a18,a19
a19,a20
a20)
    uncurryN :: (a1
 -> a2
 -> a3
 -> a4
 -> a5
 -> a6
 -> a7
 -> a8
 -> a9
 -> a10
 -> a11
 -> a12
 -> a13
 -> a14
 -> a15
 -> a16
 -> a17
 -> a18
 -> a19
 -> a20
 -> r)
-> (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
    a15, a16, a17, a18, a19, a20)
-> r
uncurryN f :: a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> r
f ~(a1 :: a1
a1,a2 :: a2
a2,a3 :: a3
a3,a4 :: a4
a4,a5 :: a5
a5,a6 :: a6
a6,a7 :: a7
a7,a8 :: a8
a8,a9 :: a9
a9,a10 :: a10
a10,a11 :: a11
a11,a12 :: a12
a12,a13 :: a13
a13,a14 :: a14
a14,a15 :: a15
a15,a16 :: a16
a16,a17 :: a17
a17,a18 :: a18
a18,a19 :: a19
a19,a20 :: a20
a20) = a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> r
f a1
a1 a2
a2 a3
a3 a4
a4 a5
a5 a6
a6 a7
a7 a8
a8 a9
a9 a10
a10 a11
a11 a12
a12 a13
a13 a14
a14 a15
a15 a16
a16 a17
a17 a18
a18 a19
a19 a20
a20
instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9->a10->a11->a12->a13->a14->a15->a16->a17->a18->a19->a20->a21 -> r) where
    curryN :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
  a16, a17, a18, a19, a20, a21)
 -> r)
-> a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> a21
-> r
curryN f :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
 a16, a17, a18, a19, a20, a21)
-> r
f a1 :: a1
a1 a2 :: a2
a2 a3 :: a3
a3 a4 :: a4
a4 a5 :: a5
a5 a6 :: a6
a6 a7 :: a7
a7 a8 :: a8
a8 a9 :: a9
a9 a10 :: a10
a10 a11 :: a11
a11 a12 :: a12
a12 a13 :: a13
a13 a14 :: a14
a14 a15 :: a15
a15 a16 :: a16
a16 a17 :: a17
a17 a18 :: a18
a18 a19 :: a19
a19 a20 :: a20
a20 a21 :: a21
a21 = (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
 a16, a17, a18, a19, a20, a21)
-> r
f (a1
a1,a2
a2,a3
a3,a4
a4,a5
a5,a6
a6,a7
a7,a8
a8,a9
a9,a10
a10,a11
a11,a12
a12,a13
a13,a14
a14,a15
a15,a16
a16,a17
a17,a18
a18,a19
a19,a20
a20,a21
a21)
    uncurryN :: (a1
 -> a2
 -> a3
 -> a4
 -> a5
 -> a6
 -> a7
 -> a8
 -> a9
 -> a10
 -> a11
 -> a12
 -> a13
 -> a14
 -> a15
 -> a16
 -> a17
 -> a18
 -> a19
 -> a20
 -> a21
 -> r)
-> (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
    a15, a16, a17, a18, a19, a20, a21)
-> r
uncurryN f :: a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> a21
-> r
f ~(a1 :: a1
a1,a2 :: a2
a2,a3 :: a3
a3,a4 :: a4
a4,a5 :: a5
a5,a6 :: a6
a6,a7 :: a7
a7,a8 :: a8
a8,a9 :: a9
a9,a10 :: a10
a10,a11 :: a11
a11,a12 :: a12
a12,a13 :: a13
a13,a14 :: a14
a14,a15 :: a15
a15,a16 :: a16
a16,a17 :: a17
a17,a18 :: a18
a18,a19 :: a19
a19,a20 :: a20
a20,a21 :: a21
a21) = a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> a21
-> r
f a1
a1 a2
a2 a3
a3 a4
a4 a5
a5 a6
a6 a7
a7 a8
a8 a9
a9 a10
a10 a11
a11 a12
a12 a13
a13 a14
a14 a15
a15 a16
a16 a17
a17 a18
a18 a19
a19 a20
a20 a21
a21
instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9->a10->a11->a12->a13->a14->a15->a16->a17->a18->a19->a20->a21->a22 -> r) where
    curryN :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
  a16, a17, a18, a19, a20, a21, a22)
 -> r)
-> a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> a21
-> a22
-> r
curryN f :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
 a16, a17, a18, a19, a20, a21, a22)
-> r
f a1 :: a1
a1 a2 :: a2
a2 a3 :: a3
a3 a4 :: a4
a4 a5 :: a5
a5 a6 :: a6
a6 a7 :: a7
a7 a8 :: a8
a8 a9 :: a9
a9 a10 :: a10
a10 a11 :: a11
a11 a12 :: a12
a12 a13 :: a13
a13 a14 :: a14
a14 a15 :: a15
a15 a16 :: a16
a16 a17 :: a17
a17 a18 :: a18
a18 a19 :: a19
a19 a20 :: a20
a20 a21 :: a21
a21 a22 :: a22
a22 = (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
 a16, a17, a18, a19, a20, a21, a22)
-> r
f (a1
a1,a2
a2,a3
a3,a4
a4,a5
a5,a6
a6,a7
a7,a8
a8,a9
a9,a10
a10,a11
a11,a12
a12,a13
a13,a14
a14,a15
a15,a16
a16,a17
a17,a18
a18,a19
a19,a20
a20,a21
a21,a22
a22)
    uncurryN :: (a1
 -> a2
 -> a3
 -> a4
 -> a5
 -> a6
 -> a7
 -> a8
 -> a9
 -> a10
 -> a11
 -> a12
 -> a13
 -> a14
 -> a15
 -> a16
 -> a17
 -> a18
 -> a19
 -> a20
 -> a21
 -> a22
 -> r)
-> (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
    a15, a16, a17, a18, a19, a20, a21, a22)
-> r
uncurryN f :: a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> a21
-> a22
-> r
f ~(a1 :: a1
a1,a2 :: a2
a2,a3 :: a3
a3,a4 :: a4
a4,a5 :: a5
a5,a6 :: a6
a6,a7 :: a7
a7,a8 :: a8
a8,a9 :: a9
a9,a10 :: a10
a10,a11 :: a11
a11,a12 :: a12
a12,a13 :: a13
a13,a14 :: a14
a14,a15 :: a15
a15,a16 :: a16
a16,a17 :: a17
a17,a18 :: a18
a18,a19 :: a19
a19,a20 :: a20
a20,a21 :: a21
a21,a22 :: a22
a22) = a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> a21
-> a22
-> r
f a1
a1 a2
a2 a3
a3 a4
a4 a5
a5 a6
a6 a7
a7 a8
a8 a9
a9 a10
a10 a11
a11 a12
a12 a13
a13 a14
a14 a15
a15 a16
a16 a17
a17 a18
a18 a19
a19 a20
a20 a21
a21 a22
a22
instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9->a10->a11->a12->a13->a14->a15->a16->a17->a18->a19->a20->a21->a22->a23 -> r) where
    curryN :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
  a16, a17, a18, a19, a20, a21, a22, a23)
 -> r)
-> a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> a21
-> a22
-> a23
-> r
curryN f :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
 a16, a17, a18, a19, a20, a21, a22, a23)
-> r
f a1 :: a1
a1 a2 :: a2
a2 a3 :: a3
a3 a4 :: a4
a4 a5 :: a5
a5 a6 :: a6
a6 a7 :: a7
a7 a8 :: a8
a8 a9 :: a9
a9 a10 :: a10
a10 a11 :: a11
a11 a12 :: a12
a12 a13 :: a13
a13 a14 :: a14
a14 a15 :: a15
a15 a16 :: a16
a16 a17 :: a17
a17 a18 :: a18
a18 a19 :: a19
a19 a20 :: a20
a20 a21 :: a21
a21 a22 :: a22
a22 a23 :: a23
a23 = (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
 a16, a17, a18, a19, a20, a21, a22, a23)
-> r
f (a1
a1,a2
a2,a3
a3,a4
a4,a5
a5,a6
a6,a7
a7,a8
a8,a9
a9,a10
a10,a11
a11,a12
a12,a13
a13,a14
a14,a15
a15,a16
a16,a17
a17,a18
a18,a19
a19,a20
a20,a21
a21,a22
a22,a23
a23)
    uncurryN :: (a1
 -> a2
 -> a3
 -> a4
 -> a5
 -> a6
 -> a7
 -> a8
 -> a9
 -> a10
 -> a11
 -> a12
 -> a13
 -> a14
 -> a15
 -> a16
 -> a17
 -> a18
 -> a19
 -> a20
 -> a21
 -> a22
 -> a23
 -> r)
-> (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
    a15, a16, a17, a18, a19, a20, a21, a22, a23)
-> r
uncurryN f :: a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> a21
-> a22
-> a23
-> r
f ~(a1 :: a1
a1,a2 :: a2
a2,a3 :: a3
a3,a4 :: a4
a4,a5 :: a5
a5,a6 :: a6
a6,a7 :: a7
a7,a8 :: a8
a8,a9 :: a9
a9,a10 :: a10
a10,a11 :: a11
a11,a12 :: a12
a12,a13 :: a13
a13,a14 :: a14
a14,a15 :: a15
a15,a16 :: a16
a16,a17 :: a17
a17,a18 :: a18
a18,a19 :: a19
a19,a20 :: a20
a20,a21 :: a21
a21,a22 :: a22
a22,a23 :: a23
a23) = a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> a21
-> a22
-> a23
-> r
f a1
a1 a2
a2 a3
a3 a4
a4 a5
a5 a6
a6 a7
a7 a8
a8 a9
a9 a10
a10 a11
a11 a12
a12 a13
a13 a14
a14 a15
a15 a16
a16 a17
a17 a18
a18 a19
a19 a20
a20 a21
a21 a22
a22 a23
a23
instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9->a10->a11->a12->a13->a14->a15->a16->a17->a18->a19->a20->a21->a22->a23->a24 -> r) where
    curryN :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
  a16, a17, a18, a19, a20, a21, a22, a23, a24)
 -> r)
-> a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> a21
-> a22
-> a23
-> a24
-> r
curryN f :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
 a16, a17, a18, a19, a20, a21, a22, a23, a24)
-> r
f a1 :: a1
a1 a2 :: a2
a2 a3 :: a3
a3 a4 :: a4
a4 a5 :: a5
a5 a6 :: a6
a6 a7 :: a7
a7 a8 :: a8
a8 a9 :: a9
a9 a10 :: a10
a10 a11 :: a11
a11 a12 :: a12
a12 a13 :: a13
a13 a14 :: a14
a14 a15 :: a15
a15 a16 :: a16
a16 a17 :: a17
a17 a18 :: a18
a18 a19 :: a19
a19 a20 :: a20
a20 a21 :: a21
a21 a22 :: a22
a22 a23 :: a23
a23 a24 :: a24
a24 = (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
 a16, a17, a18, a19, a20, a21, a22, a23, a24)
-> r
f (a1
a1,a2
a2,a3
a3,a4
a4,a5
a5,a6
a6,a7
a7,a8
a8,a9
a9,a10
a10,a11
a11,a12
a12,a13
a13,a14
a14,a15
a15,a16
a16,a17
a17,a18
a18,a19
a19,a20
a20,a21
a21,a22
a22,a23
a23,a24
a24)
    uncurryN :: (a1
 -> a2
 -> a3
 -> a4
 -> a5
 -> a6
 -> a7
 -> a8
 -> a9
 -> a10
 -> a11
 -> a12
 -> a13
 -> a14
 -> a15
 -> a16
 -> a17
 -> a18
 -> a19
 -> a20
 -> a21
 -> a22
 -> a23
 -> a24
 -> r)
-> (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
    a15, a16, a17, a18, a19, a20, a21, a22, a23, a24)
-> r
uncurryN f :: a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> a21
-> a22
-> a23
-> a24
-> r
f ~(a1 :: a1
a1,a2 :: a2
a2,a3 :: a3
a3,a4 :: a4
a4,a5 :: a5
a5,a6 :: a6
a6,a7 :: a7
a7,a8 :: a8
a8,a9 :: a9
a9,a10 :: a10
a10,a11 :: a11
a11,a12 :: a12
a12,a13 :: a13
a13,a14 :: a14
a14,a15 :: a15
a15,a16 :: a16
a16,a17 :: a17
a17,a18 :: a18
a18,a19 :: a19
a19,a20 :: a20
a20,a21 :: a21
a21,a22 :: a22
a22,a23 :: a23
a23,a24 :: a24
a24) = a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> a21
-> a22
-> a23
-> a24
-> r
f a1
a1 a2
a2 a3
a3 a4
a4 a5
a5 a6
a6 a7
a7 a8
a8 a9
a9 a10
a10 a11
a11 a12
a12 a13
a13 a14
a14 a15
a15 a16
a16 a17
a17 a18
a18 a19
a19 a20
a20 a21
a21 a22
a22 a23
a23 a24
a24
instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9->a10->a11->a12->a13->a14->a15->a16->a17->a18->a19->a20->a21->a22->a23->a24->a25 -> r) where
    curryN :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
  a16, a17, a18, a19, a20, a21, a22, a23, a24, a25)
 -> r)
-> a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> a21
-> a22
-> a23
-> a24
-> a25
-> r
curryN f :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
 a16, a17, a18, a19, a20, a21, a22, a23, a24, a25)
-> r
f a1 :: a1
a1 a2 :: a2
a2 a3 :: a3
a3 a4 :: a4
a4 a5 :: a5
a5 a6 :: a6
a6 a7 :: a7
a7 a8 :: a8
a8 a9 :: a9
a9 a10 :: a10
a10 a11 :: a11
a11 a12 :: a12
a12 a13 :: a13
a13 a14 :: a14
a14 a15 :: a15
a15 a16 :: a16
a16 a17 :: a17
a17 a18 :: a18
a18 a19 :: a19
a19 a20 :: a20
a20 a21 :: a21
a21 a22 :: a22
a22 a23 :: a23
a23 a24 :: a24
a24 a25 :: a25
a25 = (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
 a16, a17, a18, a19, a20, a21, a22, a23, a24, a25)
-> r
f (a1
a1,a2
a2,a3
a3,a4
a4,a5
a5,a6
a6,a7
a7,a8
a8,a9
a9,a10
a10,a11
a11,a12
a12,a13
a13,a14
a14,a15
a15,a16
a16,a17
a17,a18
a18,a19
a19,a20
a20,a21
a21,a22
a22,a23
a23,a24
a24,a25
a25)
    uncurryN :: (a1
 -> a2
 -> a3
 -> a4
 -> a5
 -> a6
 -> a7
 -> a8
 -> a9
 -> a10
 -> a11
 -> a12
 -> a13
 -> a14
 -> a15
 -> a16
 -> a17
 -> a18
 -> a19
 -> a20
 -> a21
 -> a22
 -> a23
 -> a24
 -> a25
 -> r)
-> (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
    a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25)
-> r
uncurryN f :: a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> a21
-> a22
-> a23
-> a24
-> a25
-> r
f ~(a1 :: a1
a1,a2 :: a2
a2,a3 :: a3
a3,a4 :: a4
a4,a5 :: a5
a5,a6 :: a6
a6,a7 :: a7
a7,a8 :: a8
a8,a9 :: a9
a9,a10 :: a10
a10,a11 :: a11
a11,a12 :: a12
a12,a13 :: a13
a13,a14 :: a14
a14,a15 :: a15
a15,a16 :: a16
a16,a17 :: a17
a17,a18 :: a18
a18,a19 :: a19
a19,a20 :: a20
a20,a21 :: a21
a21,a22 :: a22
a22,a23 :: a23
a23,a24 :: a24
a24,a25 :: a25
a25) = a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> a21
-> a22
-> a23
-> a24
-> a25
-> r
f a1
a1 a2
a2 a3
a3 a4
a4 a5
a5 a6
a6 a7
a7 a8
a8 a9
a9 a10
a10 a11
a11 a12
a12 a13
a13 a14
a14 a15
a15 a16
a16 a17
a17 a18
a18 a19
a19 a20
a20 a21
a21 a22
a22 a23
a23 a24
a24 a25
a25
instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9->a10->a11->a12->a13->a14->a15->a16->a17->a18->a19->a20->a21->a22->a23->a24->a25->a26 -> r) where
    curryN :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
  a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26)
 -> r)
-> a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> a21
-> a22
-> a23
-> a24
-> a25
-> a26
-> r
curryN f :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
 a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26)
-> r
f a1 :: a1
a1 a2 :: a2
a2 a3 :: a3
a3 a4 :: a4
a4 a5 :: a5
a5 a6 :: a6
a6 a7 :: a7
a7 a8 :: a8
a8 a9 :: a9
a9 a10 :: a10
a10 a11 :: a11
a11 a12 :: a12
a12 a13 :: a13
a13 a14 :: a14
a14 a15 :: a15
a15 a16 :: a16
a16 a17 :: a17
a17 a18 :: a18
a18 a19 :: a19
a19 a20 :: a20
a20 a21 :: a21
a21 a22 :: a22
a22 a23 :: a23
a23 a24 :: a24
a24 a25 :: a25
a25 a26 :: a26
a26 = (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
 a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26)
-> r
f (a1
a1,a2
a2,a3
a3,a4
a4,a5
a5,a6
a6,a7
a7,a8
a8,a9
a9,a10
a10,a11
a11,a12
a12,a13
a13,a14
a14,a15
a15,a16
a16,a17
a17,a18
a18,a19
a19,a20
a20,a21
a21,a22
a22,a23
a23,a24
a24,a25
a25,a26
a26)
    uncurryN :: (a1
 -> a2
 -> a3
 -> a4
 -> a5
 -> a6
 -> a7
 -> a8
 -> a9
 -> a10
 -> a11
 -> a12
 -> a13
 -> a14
 -> a15
 -> a16
 -> a17
 -> a18
 -> a19
 -> a20
 -> a21
 -> a22
 -> a23
 -> a24
 -> a25
 -> a26
 -> r)
-> (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
    a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26)
-> r
uncurryN f :: a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> a21
-> a22
-> a23
-> a24
-> a25
-> a26
-> r
f ~(a1 :: a1
a1,a2 :: a2
a2,a3 :: a3
a3,a4 :: a4
a4,a5 :: a5
a5,a6 :: a6
a6,a7 :: a7
a7,a8 :: a8
a8,a9 :: a9
a9,a10 :: a10
a10,a11 :: a11
a11,a12 :: a12
a12,a13 :: a13
a13,a14 :: a14
a14,a15 :: a15
a15,a16 :: a16
a16,a17 :: a17
a17,a18 :: a18
a18,a19 :: a19
a19,a20 :: a20
a20,a21 :: a21
a21,a22 :: a22
a22,a23 :: a23
a23,a24 :: a24
a24,a25 :: a25
a25,a26 :: a26
a26) = a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> a21
-> a22
-> a23
-> a24
-> a25
-> a26
-> r
f a1
a1 a2
a2 a3
a3 a4
a4 a5
a5 a6
a6 a7
a7 a8
a8 a9
a9 a10
a10 a11
a11 a12
a12 a13
a13 a14
a14 a15
a15 a16
a16 a17
a17 a18
a18 a19
a19 a20
a20 a21
a21 a22
a22 a23
a23 a24
a24 a25
a25 a26
a26
instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9->a10->a11->a12->a13->a14->a15->a16->a17->a18->a19->a20->a21->a22->a23->a24->a25->a26->a27 -> r) where
    curryN :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
  a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27)
 -> r)
-> a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> a21
-> a22
-> a23
-> a24
-> a25
-> a26
-> a27
-> r
curryN f :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
 a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27)
-> r
f a1 :: a1
a1 a2 :: a2
a2 a3 :: a3
a3 a4 :: a4
a4 a5 :: a5
a5 a6 :: a6
a6 a7 :: a7
a7 a8 :: a8
a8 a9 :: a9
a9 a10 :: a10
a10 a11 :: a11
a11 a12 :: a12
a12 a13 :: a13
a13 a14 :: a14
a14 a15 :: a15
a15 a16 :: a16
a16 a17 :: a17
a17 a18 :: a18
a18 a19 :: a19
a19 a20 :: a20
a20 a21 :: a21
a21 a22 :: a22
a22 a23 :: a23
a23 a24 :: a24
a24 a25 :: a25
a25 a26 :: a26
a26 a27 :: a27
a27 = (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
 a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27)
-> r
f (a1
a1,a2
a2,a3
a3,a4
a4,a5
a5,a6
a6,a7
a7,a8
a8,a9
a9,a10
a10,a11
a11,a12
a12,a13
a13,a14
a14,a15
a15,a16
a16,a17
a17,a18
a18,a19
a19,a20
a20,a21
a21,a22
a22,a23
a23,a24
a24,a25
a25,a26
a26,a27
a27)
    uncurryN :: (a1
 -> a2
 -> a3
 -> a4
 -> a5
 -> a6
 -> a7
 -> a8
 -> a9
 -> a10
 -> a11
 -> a12
 -> a13
 -> a14
 -> a15
 -> a16
 -> a17
 -> a18
 -> a19
 -> a20
 -> a21
 -> a22
 -> a23
 -> a24
 -> a25
 -> a26
 -> a27
 -> r)
-> (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
    a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27)
-> r
uncurryN f :: a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> a21
-> a22
-> a23
-> a24
-> a25
-> a26
-> a27
-> r
f ~(a1 :: a1
a1,a2 :: a2
a2,a3 :: a3
a3,a4 :: a4
a4,a5 :: a5
a5,a6 :: a6
a6,a7 :: a7
a7,a8 :: a8
a8,a9 :: a9
a9,a10 :: a10
a10,a11 :: a11
a11,a12 :: a12
a12,a13 :: a13
a13,a14 :: a14
a14,a15 :: a15
a15,a16 :: a16
a16,a17 :: a17
a17,a18 :: a18
a18,a19 :: a19
a19,a20 :: a20
a20,a21 :: a21
a21,a22 :: a22
a22,a23 :: a23
a23,a24 :: a24
a24,a25 :: a25
a25,a26 :: a26
a26,a27 :: a27
a27) = a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> a21
-> a22
-> a23
-> a24
-> a25
-> a26
-> a27
-> r
f a1
a1 a2
a2 a3
a3 a4
a4 a5
a5 a6
a6 a7
a7 a8
a8 a9
a9 a10
a10 a11
a11 a12
a12 a13
a13 a14
a14 a15
a15 a16
a16 a17
a17 a18
a18 a19
a19 a20
a20 a21
a21 a22
a22 a23
a23 a24
a24 a25
a25 a26
a26 a27
a27
instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9->a10->a11->a12->a13->a14->a15->a16->a17->a18->a19->a20->a21->a22->a23->a24->a25->a26->a27->a28 -> r) where
    curryN :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
  a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28)
 -> r)
-> a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> a21
-> a22
-> a23
-> a24
-> a25
-> a26
-> a27
-> a28
-> r
curryN f :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
 a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28)
-> r
f a1 :: a1
a1 a2 :: a2
a2 a3 :: a3
a3 a4 :: a4
a4 a5 :: a5
a5 a6 :: a6
a6 a7 :: a7
a7 a8 :: a8
a8 a9 :: a9
a9 a10 :: a10
a10 a11 :: a11
a11 a12 :: a12
a12 a13 :: a13
a13 a14 :: a14
a14 a15 :: a15
a15 a16 :: a16
a16 a17 :: a17
a17 a18 :: a18
a18 a19 :: a19
a19 a20 :: a20
a20 a21 :: a21
a21 a22 :: a22
a22 a23 :: a23
a23 a24 :: a24
a24 a25 :: a25
a25 a26 :: a26
a26 a27 :: a27
a27 a28 :: a28
a28 = (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
 a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28)
-> r
f (a1
a1,a2
a2,a3
a3,a4
a4,a5
a5,a6
a6,a7
a7,a8
a8,a9
a9,a10
a10,a11
a11,a12
a12,a13
a13,a14
a14,a15
a15,a16
a16,a17
a17,a18
a18,a19
a19,a20
a20,a21
a21,a22
a22,a23
a23,a24
a24,a25
a25,a26
a26,a27
a27,a28
a28)
    uncurryN :: (a1
 -> a2
 -> a3
 -> a4
 -> a5
 -> a6
 -> a7
 -> a8
 -> a9
 -> a10
 -> a11
 -> a12
 -> a13
 -> a14
 -> a15
 -> a16
 -> a17
 -> a18
 -> a19
 -> a20
 -> a21
 -> a22
 -> a23
 -> a24
 -> a25
 -> a26
 -> a27
 -> a28
 -> r)
-> (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
    a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27,
    a28)
-> r
uncurryN f :: a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> a21
-> a22
-> a23
-> a24
-> a25
-> a26
-> a27
-> a28
-> r
f ~(a1 :: a1
a1,a2 :: a2
a2,a3 :: a3
a3,a4 :: a4
a4,a5 :: a5
a5,a6 :: a6
a6,a7 :: a7
a7,a8 :: a8
a8,a9 :: a9
a9,a10 :: a10
a10,a11 :: a11
a11,a12 :: a12
a12,a13 :: a13
a13,a14 :: a14
a14,a15 :: a15
a15,a16 :: a16
a16,a17 :: a17
a17,a18 :: a18
a18,a19 :: a19
a19,a20 :: a20
a20,a21 :: a21
a21,a22 :: a22
a22,a23 :: a23
a23,a24 :: a24
a24,a25 :: a25
a25,a26 :: a26
a26,a27 :: a27
a27,a28 :: a28
a28) = a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> a21
-> a22
-> a23
-> a24
-> a25
-> a26
-> a27
-> a28
-> r
f a1
a1 a2
a2 a3
a3 a4
a4 a5
a5 a6
a6 a7
a7 a8
a8 a9
a9 a10
a10 a11
a11 a12
a12 a13
a13 a14
a14 a15
a15 a16
a16 a17
a17 a18
a18 a19
a19 a20
a20 a21
a21 a22
a22 a23
a23 a24
a24 a25
a25 a26
a26 a27
a27 a28
a28
instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9->a10->a11->a12->a13->a14->a15->a16->a17->a18->a19->a20->a21->a22->a23->a24->a25->a26->a27->a28->a29 -> r) where
    curryN :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
  a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28,
  a29)
 -> r)
-> a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> a21
-> a22
-> a23
-> a24
-> a25
-> a26
-> a27
-> a28
-> a29
-> r
curryN f :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
 a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28,
 a29)
-> r
f a1 :: a1
a1 a2 :: a2
a2 a3 :: a3
a3 a4 :: a4
a4 a5 :: a5
a5 a6 :: a6
a6 a7 :: a7
a7 a8 :: a8
a8 a9 :: a9
a9 a10 :: a10
a10 a11 :: a11
a11 a12 :: a12
a12 a13 :: a13
a13 a14 :: a14
a14 a15 :: a15
a15 a16 :: a16
a16 a17 :: a17
a17 a18 :: a18
a18 a19 :: a19
a19 a20 :: a20
a20 a21 :: a21
a21 a22 :: a22
a22 a23 :: a23
a23 a24 :: a24
a24 a25 :: a25
a25 a26 :: a26
a26 a27 :: a27
a27 a28 :: a28
a28 a29 :: a29
a29 = (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
 a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28,
 a29)
-> r
f (a1
a1,a2
a2,a3
a3,a4
a4,a5
a5,a6
a6,a7
a7,a8
a8,a9
a9,a10
a10,a11
a11,a12
a12,a13
a13,a14
a14,a15
a15,a16
a16,a17
a17,a18
a18,a19
a19,a20
a20,a21
a21,a22
a22,a23
a23,a24
a24,a25
a25,a26
a26,a27
a27,a28
a28,a29
a29)
    uncurryN :: (a1
 -> a2
 -> a3
 -> a4
 -> a5
 -> a6
 -> a7
 -> a8
 -> a9
 -> a10
 -> a11
 -> a12
 -> a13
 -> a14
 -> a15
 -> a16
 -> a17
 -> a18
 -> a19
 -> a20
 -> a21
 -> a22
 -> a23
 -> a24
 -> a25
 -> a26
 -> a27
 -> a28
 -> a29
 -> r)
-> (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
    a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27,
    a28, a29)
-> r
uncurryN f :: a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> a21
-> a22
-> a23
-> a24
-> a25
-> a26
-> a27
-> a28
-> a29
-> r
f ~(a1 :: a1
a1,a2 :: a2
a2,a3 :: a3
a3,a4 :: a4
a4,a5 :: a5
a5,a6 :: a6
a6,a7 :: a7
a7,a8 :: a8
a8,a9 :: a9
a9,a10 :: a10
a10,a11 :: a11
a11,a12 :: a12
a12,a13 :: a13
a13,a14 :: a14
a14,a15 :: a15
a15,a16 :: a16
a16,a17 :: a17
a17,a18 :: a18
a18,a19 :: a19
a19,a20 :: a20
a20,a21 :: a21
a21,a22 :: a22
a22,a23 :: a23
a23,a24 :: a24
a24,a25 :: a25
a25,a26 :: a26
a26,a27 :: a27
a27,a28 :: a28
a28,a29 :: a29
a29) = a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> a21
-> a22
-> a23
-> a24
-> a25
-> a26
-> a27
-> a28
-> a29
-> r
f a1
a1 a2
a2 a3
a3 a4
a4 a5
a5 a6
a6 a7
a7 a8
a8 a9
a9 a10
a10 a11
a11 a12
a12 a13
a13 a14
a14 a15
a15 a16
a16 a17
a17 a18
a18 a19
a19 a20
a20 a21
a21 a22
a22 a23
a23 a24
a24 a25
a25 a26
a26 a27
a27 a28
a28 a29
a29
instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9->a10->a11->a12->a13->a14->a15->a16->a17->a18->a19->a20->a21->a22->a23->a24->a25->a26->a27->a28->a29->a30 -> r) where
    curryN :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
  a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28,
  a29, a30)
 -> r)
-> a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> a21
-> a22
-> a23
-> a24
-> a25
-> a26
-> a27
-> a28
-> a29
-> a30
-> r
curryN f :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
 a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28,
 a29, a30)
-> r
f a1 :: a1
a1 a2 :: a2
a2 a3 :: a3
a3 a4 :: a4
a4 a5 :: a5
a5 a6 :: a6
a6 a7 :: a7
a7 a8 :: a8
a8 a9 :: a9
a9 a10 :: a10
a10 a11 :: a11
a11 a12 :: a12
a12 a13 :: a13
a13 a14 :: a14
a14 a15 :: a15
a15 a16 :: a16
a16 a17 :: a17
a17 a18 :: a18
a18 a19 :: a19
a19 a20 :: a20
a20 a21 :: a21
a21 a22 :: a22
a22 a23 :: a23
a23 a24 :: a24
a24 a25 :: a25
a25 a26 :: a26
a26 a27 :: a27
a27 a28 :: a28
a28 a29 :: a29
a29 a30 :: a30
a30 = (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
 a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28,
 a29, a30)
-> r
f (a1
a1,a2
a2,a3
a3,a4
a4,a5
a5,a6
a6,a7
a7,a8
a8,a9
a9,a10
a10,a11
a11,a12
a12,a13
a13,a14
a14,a15
a15,a16
a16,a17
a17,a18
a18,a19
a19,a20
a20,a21
a21,a22
a22,a23
a23,a24
a24,a25
a25,a26
a26,a27
a27,a28
a28,a29
a29,a30
a30)
    uncurryN :: (a1
 -> a2
 -> a3
 -> a4
 -> a5
 -> a6
 -> a7
 -> a8
 -> a9
 -> a10
 -> a11
 -> a12
 -> a13
 -> a14
 -> a15
 -> a16
 -> a17
 -> a18
 -> a19
 -> a20
 -> a21
 -> a22
 -> a23
 -> a24
 -> a25
 -> a26
 -> a27
 -> a28
 -> a29
 -> a30
 -> r)
-> (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
    a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27,
    a28, a29, a30)
-> r
uncurryN f :: a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> a21
-> a22
-> a23
-> a24
-> a25
-> a26
-> a27
-> a28
-> a29
-> a30
-> r
f ~(a1 :: a1
a1,a2 :: a2
a2,a3 :: a3
a3,a4 :: a4
a4,a5 :: a5
a5,a6 :: a6
a6,a7 :: a7
a7,a8 :: a8
a8,a9 :: a9
a9,a10 :: a10
a10,a11 :: a11
a11,a12 :: a12
a12,a13 :: a13
a13,a14 :: a14
a14,a15 :: a15
a15,a16 :: a16
a16,a17 :: a17
a17,a18 :: a18
a18,a19 :: a19
a19,a20 :: a20
a20,a21 :: a21
a21,a22 :: a22
a22,a23 :: a23
a23,a24 :: a24
a24,a25 :: a25
a25,a26 :: a26
a26,a27 :: a27
a27,a28 :: a28
a28,a29 :: a29
a29,a30 :: a30
a30) = a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> a21
-> a22
-> a23
-> a24
-> a25
-> a26
-> a27
-> a28
-> a29
-> a30
-> r
f a1
a1 a2
a2 a3
a3 a4
a4 a5
a5 a6
a6 a7
a7 a8
a8 a9
a9 a10
a10 a11
a11 a12
a12 a13
a13 a14
a14 a15
a15 a16
a16 a17
a17 a18
a18 a19
a19 a20
a20 a21
a21 a22
a22 a23
a23 a24
a24 a25
a25 a26
a26 a27
a27 a28
a28 a29
a29 a30
a30
instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30,a31) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9->a10->a11->a12->a13->a14->a15->a16->a17->a18->a19->a20->a21->a22->a23->a24->a25->a26->a27->a28->a29->a30->a31 -> r) where
    curryN :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
  a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28,
  a29, a30, a31)
 -> r)
-> a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> a21
-> a22
-> a23
-> a24
-> a25
-> a26
-> a27
-> a28
-> a29
-> a30
-> a31
-> r
curryN f :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
 a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28,
 a29, a30, a31)
-> r
f a1 :: a1
a1 a2 :: a2
a2 a3 :: a3
a3 a4 :: a4
a4 a5 :: a5
a5 a6 :: a6
a6 a7 :: a7
a7 a8 :: a8
a8 a9 :: a9
a9 a10 :: a10
a10 a11 :: a11
a11 a12 :: a12
a12 a13 :: a13
a13 a14 :: a14
a14 a15 :: a15
a15 a16 :: a16
a16 a17 :: a17
a17 a18 :: a18
a18 a19 :: a19
a19 a20 :: a20
a20 a21 :: a21
a21 a22 :: a22
a22 a23 :: a23
a23 a24 :: a24
a24 a25 :: a25
a25 a26 :: a26
a26 a27 :: a27
a27 a28 :: a28
a28 a29 :: a29
a29 a30 :: a30
a30 a31 :: a31
a31 = (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
 a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28,
 a29, a30, a31)
-> r
f (a1
a1,a2
a2,a3
a3,a4
a4,a5
a5,a6
a6,a7
a7,a8
a8,a9
a9,a10
a10,a11
a11,a12
a12,a13
a13,a14
a14,a15
a15,a16
a16,a17
a17,a18
a18,a19
a19,a20
a20,a21
a21,a22
a22,a23
a23,a24
a24,a25
a25,a26
a26,a27
a27,a28
a28,a29
a29,a30
a30,a31
a31)
    uncurryN :: (a1
 -> a2
 -> a3
 -> a4
 -> a5
 -> a6
 -> a7
 -> a8
 -> a9
 -> a10
 -> a11
 -> a12
 -> a13
 -> a14
 -> a15
 -> a16
 -> a17
 -> a18
 -> a19
 -> a20
 -> a21
 -> a22
 -> a23
 -> a24
 -> a25
 -> a26
 -> a27
 -> a28
 -> a29
 -> a30
 -> a31
 -> r)
-> (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
    a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27,
    a28, a29, a30, a31)
-> r
uncurryN f :: a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> a21
-> a22
-> a23
-> a24
-> a25
-> a26
-> a27
-> a28
-> a29
-> a30
-> a31
-> r
f ~(a1 :: a1
a1,a2 :: a2
a2,a3 :: a3
a3,a4 :: a4
a4,a5 :: a5
a5,a6 :: a6
a6,a7 :: a7
a7,a8 :: a8
a8,a9 :: a9
a9,a10 :: a10
a10,a11 :: a11
a11,a12 :: a12
a12,a13 :: a13
a13,a14 :: a14
a14,a15 :: a15
a15,a16 :: a16
a16,a17 :: a17
a17,a18 :: a18
a18,a19 :: a19
a19,a20 :: a20
a20,a21 :: a21
a21,a22 :: a22
a22,a23 :: a23
a23,a24 :: a24
a24,a25 :: a25
a25,a26 :: a26
a26,a27 :: a27
a27,a28 :: a28
a28,a29 :: a29
a29,a30 :: a30
a30,a31 :: a31
a31) = a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> a21
-> a22
-> a23
-> a24
-> a25
-> a26
-> a27
-> a28
-> a29
-> a30
-> a31
-> r
f a1
a1 a2
a2 a3
a3 a4
a4 a5
a5 a6
a6 a7
a7 a8
a8 a9
a9 a10
a10 a11
a11 a12
a12 a13
a13 a14
a14 a15
a15 a16
a16 a17
a17 a18
a18 a19
a19 a20
a20 a21
a21 a22
a22 a23
a23 a24
a24 a25
a25 a26
a26 a27
a27 a28
a28 a29
a29 a30
a30 a31
a31
instance Curry ((a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30,a31,a32) -> r) (a1->a2->a3->a4->a5->a6->a7->a8->a9->a10->a11->a12->a13->a14->a15->a16->a17->a18->a19->a20->a21->a22->a23->a24->a25->a26->a27->a28->a29->a30->a31->a32 -> r) where
    curryN :: ((a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
  a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28,
  a29, a30, a31, a32)
 -> r)
-> a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> a21
-> a22
-> a23
-> a24
-> a25
-> a26
-> a27
-> a28
-> a29
-> a30
-> a31
-> a32
-> r
curryN f :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
 a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28,
 a29, a30, a31, a32)
-> r
f a1 :: a1
a1 a2 :: a2
a2 a3 :: a3
a3 a4 :: a4
a4 a5 :: a5
a5 a6 :: a6
a6 a7 :: a7
a7 a8 :: a8
a8 a9 :: a9
a9 a10 :: a10
a10 a11 :: a11
a11 a12 :: a12
a12 a13 :: a13
a13 a14 :: a14
a14 a15 :: a15
a15 a16 :: a16
a16 a17 :: a17
a17 a18 :: a18
a18 a19 :: a19
a19 a20 :: a20
a20 a21 :: a21
a21 a22 :: a22
a22 a23 :: a23
a23 a24 :: a24
a24 a25 :: a25
a25 a26 :: a26
a26 a27 :: a27
a27 a28 :: a28
a28 a29 :: a29
a29 a30 :: a30
a30 a31 :: a31
a31 a32 :: a32
a32 = (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
 a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28,
 a29, a30, a31, a32)
-> r
f (a1
a1,a2
a2,a3
a3,a4
a4,a5
a5,a6
a6,a7
a7,a8
a8,a9
a9,a10
a10,a11
a11,a12
a12,a13
a13,a14
a14,a15
a15,a16
a16,a17
a17,a18
a18,a19
a19,a20
a20,a21
a21,a22
a22,a23
a23,a24
a24,a25
a25,a26
a26,a27
a27,a28
a28,a29
a29,a30
a30,a31
a31,a32
a32)
    uncurryN :: (a1
 -> a2
 -> a3
 -> a4
 -> a5
 -> a6
 -> a7
 -> a8
 -> a9
 -> a10
 -> a11
 -> a12
 -> a13
 -> a14
 -> a15
 -> a16
 -> a17
 -> a18
 -> a19
 -> a20
 -> a21
 -> a22
 -> a23
 -> a24
 -> a25
 -> a26
 -> a27
 -> a28
 -> a29
 -> a30
 -> a31
 -> a32
 -> r)
-> (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
    a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27,
    a28, a29, a30, a31, a32)
-> r
uncurryN f :: a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> a21
-> a22
-> a23
-> a24
-> a25
-> a26
-> a27
-> a28
-> a29
-> a30
-> a31
-> a32
-> r
f ~(a1 :: a1
a1,a2 :: a2
a2,a3 :: a3
a3,a4 :: a4
a4,a5 :: a5
a5,a6 :: a6
a6,a7 :: a7
a7,a8 :: a8
a8,a9 :: a9
a9,a10 :: a10
a10,a11 :: a11
a11,a12 :: a12
a12,a13 :: a13
a13,a14 :: a14
a14,a15 :: a15
a15,a16 :: a16
a16,a17 :: a17
a17,a18 :: a18
a18,a19 :: a19
a19,a20 :: a20
a20,a21 :: a21
a21,a22 :: a22
a22,a23 :: a23
a23,a24 :: a24
a24,a25 :: a25
a25,a26 :: a26
a26,a27 :: a27
a27,a28 :: a28
a28,a29 :: a29
a29,a30 :: a30
a30,a31 :: a31
a31,a32 :: a32
a32) = a1
-> a2
-> a3
-> a4
-> a5
-> a6
-> a7
-> a8
-> a9
-> a10
-> a11
-> a12
-> a13
-> a14
-> a15
-> a16
-> a17
-> a18
-> a19
-> a20
-> a21
-> a22
-> a23
-> a24
-> a25
-> a26
-> a27
-> a28
-> a29
-> a30
-> a31
-> a32
-> r
f a1
a1 a2
a2 a3
a3 a4
a4 a5
a5 a6
a6 a7
a7 a8
a8 a9
a9 a10
a10 a11
a11 a12
a12 a13
a13 a14
a14 a15
a15 a16
a16 a17
a17 a18
a18 a19
a19 a20
a20 a21
a21 a22
a22 a23
a23 a24
a24 a25
a25 a26
a26 a27
a27 a28
a28 a29
a29 a30
a30 a31
a31 a32
a32