[Fencommits] fenserve: refactor the hlist stuff: instead of having separate Cons/Nil types, represent hlists directly by tuples, using a type class Tuple x xs t with instances like Tuple a (b, c, d) (a, b, c, d)

Benja Fallenstein benja.fallenstein at gmail.com
Sat Jun 9 16:06:06 EEST 2007


Sat Jun  9 16:05:46 EEST 2007  Benja Fallenstein <benja.fallenstein at gmail.com>
  * refactor the hlist stuff: instead of having separate Cons/Nil types, represent hlists directly by tuples, using a type class Tuple x xs t with instances like Tuple a (b,c,d) (a,b,c,d)
diff -rN -u old-fenserve/fendata/HListUtils.hs new-fenserve/fendata/HListUtils.hs
--- old-fenserve/fendata/HListUtils.hs	2007-06-09 16:06:05.000000000 +0300
+++ new-fenserve/fendata/HListUtils.hs	1970-01-01 02:00:00.000000000 +0200
@@ -1,118 +0,0 @@
-{-# OPTIONS_GHC -fglasgow-exts #-}
-
-module HListUtils where
-
-infixr 5 :*:
-
-data a :*: b = a :*: b
-data Nil = Nil
-
-class ToHList a l | a -> l where toHList :: a -> l
-
-instance ToHList () Nil where
-    toHList () = Nil
-    
-{-
-The following code is generated by this expression:
-
-flip concatMap [2..50] $ \n -> (let f s = concat $ intersperse s $ flip map [1..n] $ \i -> "v" ++ show i in "instance ToHList (" ++ f "," ++ ") (" ++ f ":*:" ++ ":*:Nil) where\n    toHList (" ++ f "," ++ ") = " ++ f ":*:" ++ ":*:Nil" ++ "\n")
--}
-    
-instance ToHList (v1,v2) (v1:*:v2:*:Nil) where
-    toHList (v1,v2) = v1:*:v2:*:Nil
-instance ToHList (v1,v2,v3) (v1:*:v2:*:v3:*:Nil) where
-    toHList (v1,v2,v3) = v1:*:v2:*:v3:*:Nil
-instance ToHList (v1,v2,v3,v4) (v1:*:v2:*:v3:*:v4:*:Nil) where
-    toHList (v1,v2,v3,v4) = v1:*:v2:*:v3:*:v4:*:Nil
-instance ToHList (v1,v2,v3,v4,v5) (v1:*:v2:*:v3:*:v4:*:v5:*:Nil) where
-    toHList (v1,v2,v3,v4,v5) = v1:*:v2:*:v3:*:v4:*:v5:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:v33:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:v33:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:v33:*:v34:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:v33:*:v34:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:v33:*:v34:*:v35:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:v33:*:v34:*:v35:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:v33:*:v34:*:v35:*:v36:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:v33:*:v34:*:v35:*:v36:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:v33:*:v34:*:v35:*:v36:*:v37:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:v33:*:v34:*:v35:*:v36:*:v37:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:v33:*:v34:*:v35:*:v36:*:v37:*:v38:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:v33:*:v34:*:v35:*:v36:*:v37:*:v38:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:v33:*:v34:*:v35:*:v36:*:v37:*:v38:*:v39:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:v33:*:v34:*:v35:*:v36:*:v37:*:v38:*:v39:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:v33:*:v34:*:v35:*:v36:*:v37:*:v38:*:v39:*:v40:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:v33:*:v34:*:v35:*:v36:*:v37:*:v38:*:v39:*:v40:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:v33:*:v34:*:v35:*:v36:*:v37:*:v38:*:v39:*:v40:*:v41:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:v33:*:v34:*:v35:*:v36:*:v37:*:v38:*:v39:*:v40:*:v41:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:v33:*:v34:*:v35:*:v36:*:v37:*:v38:*:v39:*:v40:*:v41:*:v42:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:v33:*:v34:*:v35:*:v36:*:v37:*:v38:*:v39:*:v40:*:v41:*:v42:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:v33:*:v34:*:v35:*:v36:*:v37:*:v38:*:v39:*:v40:*:v41:*:v42:*:v43:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:v33:*:v34:*:v35:*:v36:*:v37:*:v38:*:v39:*:v40:*:v41:*:v42:*:v43:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:v33:*:v34:*:v35:*:v36:*:v37:*:v38:*:v39:*:v40:*:v41:*:v42:*:v43:*:v44:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:v33:*:v34:*:v35:*:v36:*:v37:*:v38:*:v39:*:v40:*:v41:*:v42:*:v43:*:v44:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:v33:*:v34:*:v35:*:v36:*:v37:*:v38:*:v39:*:v40:*:v41:*:v42:*:v43:*:v44:*:v45:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:v33:*:v34:*:v35:*:v36:*:v37:*:v38:*:v39:*:v40:*:v41:*:v42:*:v43:*:v44:*:v45:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:v33:*:v34:*:v35:*:v36:*:v37:*:v38:*:v39:*:v40:*:v41:*:v42:*:v43:*:v44:*:v45:*:v46:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:v33:*:v34:*:v35:*:v36:*:v37:*:v38:*:v39:*:v40:*:v41:*:v42:*:v43:*:v44:*:v45:*:v46:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:v33:*:v34:*:v35:*:v36:*:v37:*:v38:*:v39:*:v40:*:v41:*:v42:*:v43:*:v44:*:v45:*:v46:*:v47:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:v33:*:v34:*:v35:*:v36:*:v37:*:v38:*:v39:*:v40:*:v41:*:v42:*:v43:*:v44:*:v45:*:v46:*:v47:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:v33:*:v34:*:v35:*:v36:*:v37:*:v38:*:v39:*:v40:*:v41:*:v42:*:v43:*:v44:*:v45:*:v46:*:v47:*:v48:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:v33:*:v34:*:v35:*:v36:*:v37:*:v38:*:v39:*:v40:*:v41:*:v42:*:v43:*:v44:*:v45:*:v46:*:v47:*:v48:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:v33:*:v34:*:v35:*:v36:*:v37:*:v38:*:v39:*:v40:*:v41:*:v42:*:v43:*:v44:*:v45:*:v46:*:v47:*:v48:*:v49:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:v33:*:v34:*:v35:*:v36:*:v37:*:v38:*:v39:*:v40:*:v41:*:v42:*:v43:*:v44:*:v45:*:v46:*:v47:*:v48:*:v49:*:Nil
-instance ToHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50) (v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:v33:*:v34:*:v35:*:v36:*:v37:*:v38:*:v39:*:v40:*:v41:*:v42:*:v43:*:v44:*:v45:*:v46:*:v47:*:v48:*:v49:*:v50:*:Nil) where
-    toHList (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50) = v1:*:v2:*:v3:*:v4:*:v5:*:v6:*:v7:*:v8:*:v9:*:v10:*:v11:*:v12:*:v13:*:v14:*:v15:*:v16:*:v17:*:v18:*:v19:*:v20:*:v21:*:v22:*:v23:*:v24:*:v25:*:v26:*:v27:*:v28:*:v29:*:v30:*:v31:*:v32:*:v33:*:v34:*:v35:*:v36:*:v37:*:v38:*:v39:*:v40:*:v41:*:v42:*:v43:*:v44:*:v45:*:v46:*:v47:*:v48:*:v49:*:v50:*:Nil
diff -rN -u old-fenserve/fendata/HTML.hs new-fenserve/fendata/HTML.hs
--- old-fenserve/fendata/HTML.hs	2007-06-09 16:06:05.000000000 +0300
+++ new-fenserve/fendata/HTML.hs	2007-06-09 16:06:05.000000000 +0300
@@ -2,7 +2,7 @@
 
 module HTML where
 
-import HListUtils
+import TupleUtils
 
 import HAppS (lookM)
 
@@ -47,13 +47,11 @@
 instance ToHTML String where
     toHTML = HTML . concatMap quoteChar
     
-class HCat a where hCat :: a -> HTML
-instance HCat Nil where hCat Nil = HTML ""
-instance (ToHTML x, HCat xs) => HCat (x :*: xs) where 
-    hCat (x :*: xs) = x & hCat xs
-    
-instance (ToHList a l, HCat l) => ToHTML a where
-    toHTML a = hCat (toHList a)
+instance ToHTML () where
+    toHTML () = HTML ""
+
+instance (ToHTML x, ToHTML xs, Tuple x xs t) => ToHTML t where
+    toHTML t | x <- thead t, xs <- ttail t = x & xs
 
 instance ToString String where toString = id
 instance Show a => ToString a where toString = show
diff -rN -u old-fenserve/fendata/Potions.hs new-fenserve/fendata/Potions.hs
--- old-fenserve/fendata/Potions.hs	2007-06-09 16:06:05.000000000 +0300
+++ new-fenserve/fendata/Potions.hs	2007-06-09 16:06:05.000000000 +0300
@@ -1,10 +1,10 @@
-{-# OPTIONS_GHC -fglasgow-exts #-}
+{-# OPTIONS_GHC -fglasgow-exts -fallow-undecidable-instances #-}
 
 module Potions where
 
 import HTML
 import Types
-import HListUtils
+import TupleUtils
 import Utils
 
 import Control.Monad
@@ -20,18 +20,17 @@
 import System.Time
 
 
-class Typeable b => MkTemplate l b where mkTemplate :: l -> Template b
-instance (ToHTML h, Typeable a) => MkTemplate (h :*: Nil) a where 
-    mkTemplate (h :*: Nil) = TNil (toHTML h)
-instance (ToHTML h, MkTemplate xs x) => MkTemplate (h :*: x :*: xs) x where
-    mkTemplate (h :*: x :*: xs) = TCons (toHTML h) x (mkTemplate xs)
-
-template :: (ToHList a l, MkTemplate l b) => a -> Template b
-template = mkTemplate . toHList
+class Typeable b => ToTemplate a b where template :: a -> Template b
+instance (ToHTML h, Typeable a) => ToTemplate (Identity h) a where
+    template (Identity h) = TNil (toHTML h)
+instance (ToHTML h, Tuple h t' t, Typeable a, Tuple a xs t', ToTemplate xs a)
+         => ToTemplate t a where
+    template t | (h,t') <- tsplit t, (x,xs) <- tsplit t' =
+        TCons (toHTML h) x (template xs)
 
 
 --renderTemplate :: Typeable a => (a -> HTML) -> Template a -> HTML
---renderTemplate f (TCons h x tl) = h & f x & renderTemplate f tl
+--renderTemplate f (Tuple h x tl) = h & f x & renderTemplate f tl
 --renderTemplate _ (TNil h) = h
 
 templateHTML (TCons h _ tl) = h : templateHTML tl
diff -rN -u old-fenserve/fendata/TupleUtils.hs new-fenserve/fendata/TupleUtils.hs
--- old-fenserve/fendata/TupleUtils.hs	1970-01-01 02:00:00.000000000 +0200
+++ new-fenserve/fendata/TupleUtils.hs	2007-06-09 16:06:05.000000000 +0300
@@ -0,0 +1,235 @@
+{-# OPTIONS_GHC -fglasgow-exts #-}
+
+module TupleUtils (Tuple, (.*.), thead, ttail, tsplit, Identity(..)) where
+
+import Control.Monad.Identity
+
+infixr 5 .*.
+
+class Tuple x xs t | x xs -> t, t -> x xs where
+    (.*.) :: x -> xs -> t
+    thead :: t -> x
+    ttail :: t -> xs
+
+    tsplit :: t -> (x,xs)
+    tsplit t = (thead t, ttail t)
+    
+instance Tuple a () (Identity a) where
+    x .*. () = Identity x
+    thead (Identity x) = x
+    ttail (Identity _) = ()
+    
+instance Tuple a (Identity b) (a,b) where
+    x .*. Identity y = (x,y)
+    thead (x,y) = x
+    ttail (x,y) = Identity y
+    
+{-
+The following code is generated by this program:
+
+import System.IO; import Data.List
+main = do
+   h <- openFile "foo.txt" WriteMode
+   hPutStr h $ flip concatMap [3..50] $ \n ->
+       let f i0 = concat $ intersperse "," $ 
+                  flip map [i0..n] $ \i -> "v" ++ show i
+        in "instance Tuple v1 (" ++ f 2 ++ ") (" ++ f 1 ++ ") where\n" ++
+           "    v1 .*. (" ++ f 2 ++ ") = (" ++ f 1 ++ ")\n" ++
+           "    thead (" ++ f 1 ++ ") = v1\n" ++
+           "    ttail (" ++ f 1 ++ ") = (" ++ f 2 ++ ")\n"
+   hClose h
+-}
+    
+instance Tuple v1 (v2,v3) (v1,v2,v3) where
+    v1 .*. (v2,v3) = (v1,v2,v3)
+    thead (v1,v2,v3) = v1
+    ttail (v1,v2,v3) = (v2,v3)
+instance Tuple v1 (v2,v3,v4) (v1,v2,v3,v4) where
+    v1 .*. (v2,v3,v4) = (v1,v2,v3,v4)
+    thead (v1,v2,v3,v4) = v1
+    ttail (v1,v2,v3,v4) = (v2,v3,v4)
+instance Tuple v1 (v2,v3,v4,v5) (v1,v2,v3,v4,v5) where
+    v1 .*. (v2,v3,v4,v5) = (v1,v2,v3,v4,v5)
+    thead (v1,v2,v3,v4,v5) = v1
+    ttail (v1,v2,v3,v4,v5) = (v2,v3,v4,v5)
+instance Tuple v1 (v2,v3,v4,v5,v6) (v1,v2,v3,v4,v5,v6) where
+    v1 .*. (v2,v3,v4,v5,v6) = (v1,v2,v3,v4,v5,v6)
+    thead (v1,v2,v3,v4,v5,v6) = v1
+    ttail (v1,v2,v3,v4,v5,v6) = (v2,v3,v4,v5,v6)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7) (v1,v2,v3,v4,v5,v6,v7) where
+    v1 .*. (v2,v3,v4,v5,v6,v7) = (v1,v2,v3,v4,v5,v6,v7)
+    thead (v1,v2,v3,v4,v5,v6,v7) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7) = (v2,v3,v4,v5,v6,v7)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8) (v1,v2,v3,v4,v5,v6,v7,v8) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8) = (v1,v2,v3,v4,v5,v6,v7,v8)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8) = (v2,v3,v4,v5,v6,v7,v8)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9) (v1,v2,v3,v4,v5,v6,v7,v8,v9) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9) = (v1,v2,v3,v4,v5,v6,v7,v8,v9)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9) = (v2,v3,v4,v5,v6,v7,v8,v9)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10) = (v2,v3,v4,v5,v6,v7,v8,v9,v10)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49)
+instance Tuple v1 (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50) (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50) where
+    v1 .*. (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50) = (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50)
+    thead (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50) = v1
+    ttail (v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50) = (v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50)
+    




More information about the Fencommits mailing list