{-# OPTIONS_GHC -Wno-overlapping-patterns -Wno-incomplete-patterns -Wno-incomplete-uni-patterns -fno-opt-coercion #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE TypeOperators #-} -- | Provide a recursive views on tuples -- -- NOTE: We disable the GHC pattern match checker (this makes compilation /much/ -- faster). -- -- Verified that this module compiles without warnings for smaller maximum -- tuple size. -- -- For some details, see -- -- * https://gitlab.haskell.org/ghc/ghc/-/issues/17836 -- * https://gitlab.haskell.org/ghc/ghc/-/issues/16382 module Debug.RecoverRTTI.Tuple.Recursive ( Tuple , cons , uncons ) where import Data.SOP import Debug.RecoverRTTI.Tuple.Size import Debug.RecoverRTTI.Util.TypeLevel {------------------------------------------------------------------------------- Generated -------------------------------------------------------------------------------} type family Tuple xs where Tuple '[] = {- 00 -} () Tuple '[x1] = {- 01 -} (x1) Tuple '[x1, x2] = {- 02 -} (x1, x2) Tuple '[x1, x2, x3] = {- 03 -} (x1, x2, x3) Tuple '[x1, x2, x3, x4] = {- 04 -} (x1, x2, x3, x4) Tuple '[x1, x2, x3, x4, x5] = {- 05 -} (x1, x2, x3, x4, x5) Tuple '[x1, x2, x3, x4, x5, x6] = {- 06 -} (x1, x2, x3, x4, x5, x6) Tuple '[x1, x2, x3, x4, x5, x6, x7] = {- 07 -} (x1, x2, x3, x4, x5, x6, x7) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8] = {- 08 -} (x1, x2, x3, x4, x5, x6, x7, x8) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9] = {- 09 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10] = {- 10 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11] = {- 11 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12] = {- 12 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13] = {- 13 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14] = {- 14 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15] = {- 15 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16] = {- 16 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17] = {- 17 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18] = {- 18 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19] = {- 19 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20] = {- 20 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21] = {- 21 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22] = {- 22 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23] = {- 23 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24] = {- 24 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25] = {- 25 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26] = {- 26 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27] = {- 27 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28] = {- 28 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29] = {- 29 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30] = {- 30 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31] = {- 31 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32] = {- 32 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33] = {- 33 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34] = {- 34 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35] = {- 35 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36] = {- 36 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37] = {- 37 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38] = {- 38 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39] = {- 39 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40] = {- 40 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41] = {- 41 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42] = {- 42 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43] = {- 43 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44] = {- 44 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45] = {- 45 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46] = {- 46 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47] = {- 47 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48] = {- 48 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49] = {- 49 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50] = {- 50 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51] = {- 51 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52] = {- 52 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53] = {- 53 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53, x54] = {- 54 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53, x54) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53, x54, x55] = {- 55 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53, x54, x55) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53, x54, x55, x56] = {- 56 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53, x54, x55, x56) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53, x54, x55, x56, x57] = {- 57 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53, x54, x55, x56, x57) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53, x54, x55, x56, x57, x58] = {- 58 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53, x54, x55, x56, x57, x58) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53, x54, x55, x56, x57, x58, x59] = {- 59 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53, x54, x55, x56, x57, x58, x59) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53, x54, x55, x56, x57, x58, x59, x60] = {- 60 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53, x54, x55, x56, x57, x58, x59, x60) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53, x54, x55, x56, x57, x58, x59, x60, x61] = {- 61 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53, x54, x55, x56, x57, x58, x59, x60, x61) Tuple '[x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53, x54, x55, x56, x57, x58, x59, x60, x61, x62] = {- 62 -} (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53, x54, x55, x56, x57, x58, x59, x60, x61, x62) cons :: forall x xs. SListI xs => Proxy xs -> ValidSize (Length (x ': xs)) -> (x, Tuple xs) -> Tuple (x ': xs) cons :: Proxy xs -> ValidSize (Length (x : xs)) -> (x, Tuple xs) -> Tuple (x : xs) cons Proxy xs _ (ValidSize Sing (Length (x : xs)) _n forall r. TooBig (Length (x : xs)) -> r notTooBig) = Shape xs -> (x, Tuple xs) -> Tuple (x : xs) go Shape xs forall k (xs :: [k]). SListI xs => Shape xs shape where go :: Shape xs -> (x, Tuple xs) -> Tuple (x ': xs) go :: Shape xs -> (x, Tuple xs) -> Tuple (x : xs) go Shape xs ShapeNil (x x1, ()) = (x Tuple (x : xs) x1) go (ShapeCons Shape xs ShapeNil) (x x1, (Tuple xs x2)) = (x x1, x Tuple xs x2) go (ShapeCons (ShapeCons Shape xs ShapeNil)) (x x1, (x2, x3)) = (x x1, x x2, x x3) go (ShapeCons (ShapeCons (ShapeCons Shape xs ShapeNil))) (x x1, (x2, x3, x4)) = (x x1, x x2, x x3, x x4) go (ShapeCons (ShapeCons (ShapeCons (ShapeCons Shape xs ShapeNil)))) (x x1, (x2, x3, x4, x5)) = (x x1, x x2, x x3, x x4, x x5) go (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons Shape xs ShapeNil))))) (x x1, (x2, x3, x4, x5, x6)) = (x x1, x x2, x x3, x x4, x x5, x x6) go (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons Shape xs ShapeNil)))))) (x x1, (x2, x3, x4, x5, x6, x7)) = (x x1, x x2, x x3, x x4, x x5, x x6, x x7) go (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons Shape xs ShapeNil))))))) (x x1, (x2, x3, x4, x5, x6, x7, x8)) = (x x1, x x2, x x3, x x4, x x5, x x6, x x7, x x8) go (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons Shape xs ShapeNil)))))))) (x x1, (x2, x3, x4, x5, x6, x7, x8, x9)) = (x x1, x x2, x x3, x x4, x x5, x x6, x x7, x x8, x x9) go (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons Shape xs ShapeNil))))))))) (x x1, (x2, x3, x4, x5, x6, x7, x8, x9, x10)) = (x x1, x x2, x x3, x x4, x x5, x x6, x x7, x x8, x x9, x x10) go (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons Shape xs ShapeNil)))))))))) (x x1, (x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)) = (x x1, x x2, x x3, x x4, x x5, x x6, x x7, x x8, x x9, x x10, x x11) go (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons Shape xs ShapeNil))))))))))) (x x1, (x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12)) = (x x1, x x2, x x3, x x4, x x5, x x6, x x7, x x8, x x9, x x10, x x11, x x12) go (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons Shape xs ShapeNil)))))))))))) (x x1, (x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13)) = (x x1, x x2, x x3, x x4, x x5, x x6, x x7, x x8, x x9, x x10, x x11, x x12, x x13) go (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons Shape xs ShapeNil))))))))))))) (x x1, (x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14)) = (x x1, x x2, x x3, x x4, x x5, x x6, x x7, x x8, x x9, x x10, x x11, x x12, x x13, x x14) go (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons Shape xs ShapeNil)))))))))))))) (x x1, (x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15)) = (x x1, x x2, x x3, x x4, x x5, x x6, x x7, x x8, x x9, x x10, x x11, x x12, x x13, x x14, x x15) go (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons Shape xs ShapeNil))))))))))))))) (x x1, (x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16)) = (x x1, x x2, x x3, x x4, x x5, x x6, x x7, x x8, x x9, x x10, x x11, x x12, x x13, x x14, x x15, x x16) go (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons Shape xs ShapeNil)))))))))))))))) (x x1, (x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17)) = (x x1, x x2, x x3, x x4, x x5, x x6, x x7, x x8, x x9, x x10, x x11, x x12, x x13, x x14, x x15, x x16, x x17) go (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons Shape xs ShapeNil))))))))))))))))) (x x1, (x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18)) = (x x1, x x2, x x3, x x4, x x5, x x6, x x7, x x8, x x9, x x10, x x11, x x12, x x13, x x14, x x15, x x16, x x17, x x18) go (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons Shape xs ShapeNil)))))))))))))))))) (x x1, (x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19)) = (x x1, x x2, x x3, x x4, x x5, x x6, x x7, x x8, x x9, x x10, x x11, x x12, x x13, x x14, x x15, x x16, x x17, x x18, x x19) go (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons Shape xs ShapeNil))))))))))))))))))) (x x1, (x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20)) = (x x1, x x2, x x3, x x4, x x5, x x6, x x7, x x8, x x9, x x10, x x11, x x12, x x13, x x14, x x15, x x16, x x17, x x18, x x19, x x20) go (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons Shape xs ShapeNil)))))))))))))))))))) (x x1, (x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21)) = (x x1, x x2, x x3, x x4, x x5, x x6, x x7, x x8, x x9, x x10, x x11, x x12, x x13, x x14, x x15, x x16, x x17, x x18, x x19, x x20, x x21) go (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons Shape xs ShapeNil))))))))))))))))))))) (x x1, (x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22)) = (x x1, x x2, x x3, x x4, x x5, x x6, x x7, x x8, x x9, x x10, x x11, x x12, x x13, x x14, x x15, x x16, x x17, x x18, x x19, x x20, x x21, x x22) go (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons Shape xs ShapeNil)))))))))))))))))))))) (x x1, (x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23)) = (x x1, x x2, x x3, x x4, x x5, x x6, x x7, x x8, x x9, x x10, x x11, x x12, x x13, x x14, x x15, x x16, x x17, x x18, x x19, x x20, x x21, x x22, x x23) go (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons Shape xs ShapeNil))))))))))))))))))))))) (x x1, (x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24)) = (x x1, x x2, x x3, x x4, x x5, x x6, x x7, x x8, x x9, x x10, x x11, x x12, x x13, x x14, x x15, x x16, x x17, x x18, x x19, x x20, x x21, x x22, x x23, x x24) go (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons Shape xs ShapeNil)))))))))))))))))))))))) (x x1, (x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25)) = (x x1, x x2, x x3, x x4, x x5, x x6, x x7, x x8, x x9, x x10, x x11, x x12, x x13, x x14, x x15, x x16, x x17, x x18, x x19, x x20, x x21, x x22, x x23, x x24, x x25) go (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons Shape xs ShapeNil))))))))))))))))))))))))) (x x1, (x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26)) = (x x1, x x2, x x3, x x4, x x5, x x6, x x7, x x8, x x9, x x10, x x11, x x12, x x13, x x14, x x15, x x16, x x17, x x18, x x19, x x20, x x21, x x22, x x23, x x24, x x25, x x26) go (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons Shape xs ShapeNil)))))))))))))))))))))))))) (x x1, (x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27)) = (x x1, x x2, x x3, x x4, x x5, x x6, x x7, x x8, x x9, x x10, x x11, x x12, x x13, x x14, x x15, x x16, x x17, x x18, x x19, x x20, x x21, x x22, x x23, x x24, x x25, x x26, x x27) go (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons Shape xs ShapeNil))))))))))))))))))))))))))) (x x1, (x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28)) = (x x1, x x2, x x3, x x4, x x5, x x6, x x7, x x8, x x9, x x10, x x11, x x12, x x13, x x14, x x15, x x16, x x17, x x18, x x19, x x20, x x21, x x22, x x23, x x24, x x25, x x26, x x27, x x28) go (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons Shape xs ShapeNil)))))))))))))))))))))))))))) (x x1, (x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29)) = (x x1, x x2, x x3, x x4, x x5, x x6, x x7, x x8, x x9, x x10, x x11, x x12, x x13, x x14, x x15, x x16, x x17, x x18, x x19, x x20, x x21, x x22, x x23, x x24, x x25, x x26, x x27, x x28, x x29) go (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons Shape xs ShapeNil))))))))))))))))))))))))))))) (x x1, (x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30)) = (x x1, x x2, x x3, x x4, x x5, x x6, x x7, x x8, x x9, x x10, x x11, x x12, x x13, x x14, x x15, x x16, x x17, x x18, x x19, x x20, x x21, x x22, x x23, x x24, x x25, x x26, x x27, x x28, x x29, x x30) go (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons (ShapeCons Shape xs ShapeNil)))))))))))))))))))))))))))))) (x x1, (x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17,