HORIZON HASKELLDocslts/ghc-9.14.x3e2d5682026-10-11Search names, modules, packages, or :: a typeCtrl K

GHC 9.14.1 · lts/ghc-9.14.x · 3e2d568 · 2026-10-11

Moduleghc-internal-9.1401.0Haskell2010

GHC.Internal.Types

GHC type definitions. Use GHC.Exts from the base package instead of importing this module directly.

  • 166 types
  • 3 classes
  • 1 value

Built-in types

13 declarations
datadata Bool
#
Instances19Bounded, Enum, Eq, Data, Ord, Read, …
  • Bounded BoolDefined in ghc-internal-9.1401.0 · GHC.Internal.Enum
  • Enum BoolDefined in ghc-internal-9.1401.0 · GHC.Internal.Enum
  • Eq BoolDefined in ghc-internal-9.1401.0 · GHC.Internal.Classes
  • Data BoolDefined in ghc-internal-9.1401.0 · GHC.Internal.Data.Data
  • Ord BoolDefined in ghc-internal-9.1401.0 · GHC.Internal.Classes
  • Read BoolDefined in ghc-internal-9.1401.0 · GHC.Internal.Read
  • Show BoolDefined in ghc-internal-9.1401.0 · GHC.Internal.Show
  • Ix BoolDefined in ghc-internal-9.1401.0 · GHC.Internal.Ix
  • Generic BoolDefined in ghc-internal-9.1401.0 · GHC.Internal.Generics
  • Bits BoolDefined in ghc-internal-9.1401.0 · GHC.Internal.Bits

    Interpret Bool as 1-bit bit-field

  • FiniteBits BoolDefined in ghc-internal-9.1401.0 · GHC.Internal.Bits
  • Storable BoolDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.Storable
  • SingKind BoolDefined in ghc-internal-9.1401.0 · GHC.Internal.Generics
  • Lift BoolDefined in ghc-internal-9.1401.0 · GHC.Internal.TH.Lift
  • SingI 'FalseDefined in ghc-internal-9.1401.0 · GHC.Internal.Generics
  • SingI 'TrueDefined in ghc-internal-9.1401.0 · GHC.Internal.Generics
  • type Rep Bool = D1 ('MetaData "Bool" "GHC.Internal.Types" "ghc-internal" 'False) (C1 ('MetaCons "False" 'PrefixI 'False) U1 :+: C1 ('MetaCons "True" 'PrefixI 'False) U1)Defined in ghc-internal-9.1401.0 · GHC.Internal.Generics
  • type DemoteRep Bool = BoolDefined in ghc-internal-9.1401.0 · GHC.Internal.Generics
  • data Sing
    • STrue :: R:SingBoola 'True
    • SFalse :: R:SingBoola 'False
    Defined in ghc-internal-9.1401.0 · GHC.Internal.Generics
datadata Char
#

The character type Char represents Unicode codespace and its elements are code points as in definitions D9 and D10 of the Unicode Standard.

Character literals in Haskell are single-quoted: 'Q', 'Я' or 'Ω'. To represent a single quote itself use '\'', and to represent a backslash use '\\'. The full grammar can be found in the section 2.6 of the Haskell 2010 Language Report.

To specify a character by its code point one can use decimal, hexadecimal or octal notation: '\65', '\x41' and '\o101' are all alternative forms of 'A'. The largest code point is '\x10ffff'.

There is a special escape syntax for ASCII control characters:

Escape

Alternatives

Meaning

'\NUL'

'\0'

null character

'\SOH'

'\1'

start of heading

'\STX'

'\2'

start of text

'\ETX'

'\3'

end of text

'\EOT'

'\4'

end of transmission

'\ENQ'

'\5'

enquiry

'\ACK'

'\6'

acknowledge

'\BEL'

'\7'

,

'\a'

bell (alert)

'\BS'

'\8'

,

'\b'

backspace

'\HT'

'\9'

,

'\t'

horizontal tab

'\LF'

'\10'

,

'\n'

line feed (new line)

'\VT'

'\11'

,

'\v'

vertical tab

'\FF'

'\12'

,

'\f'

form feed

'\CR'

'\13'

,

'\r'

carriage return

'\SO'

'\14'

shift out

'\SI'

'\15'

shift in

'\DLE'

'\16'

data link escape

'\DC1'

'\17'

device control 1

'\DC2'

'\18'

device control 2

'\DC3'

'\19'

device control 3

'\DC4'

'\20'

device control 4

'\NAK'

'\21'

negative acknowledge

'\SYN'

'\22'

synchronous idle

'\ETB'

'\23'

end of transmission block

'\CAN'

'\24'

cancel

'\EM'

'\25'

end of medium

'\SUB'

'\26'

substitute

'\ESC'

'\27'

escape

'\FS'

'\28'

file separator

'\GS'

'\29'

group separator

'\RS'

'\30'

record separator

'\US'

'\31'

unit separator

'\SP'

'\32'

,

' '

space

'\DEL'

'\127'

delete

Data.Char provides utilities to work with Char.

Constructors

Instances24Bounded, Enum, Data, Read, Ix, Storable, …
datadata Int
#

A fixed-precision integer type with at least the range [-2^29 .. 2^29-1]. The exact range for a given implementation can be determined by using Prelude.minBound and Prelude.maxBound from the Prelude.Bounded class.

Constructors

Instances26Bounded, Enum, Integral, Data, Num, Read, …
datadata Word
#

A Word is an unsigned integral type, with the same size as Int.

Constructors

Instances26Bounded, Enum, Integral, Data, Num, Read, …
datadata Float
#

Single-precision floating point numbers. It is desirable that this type be at least equal in range and precision to the IEEE single-precision type.

Constructors

Instances25Enum, Floating, Fractional, Data, Num, Read, …
  • Enum FloatDefined in ghc-internal-9.1401.0 · GHC.Internal.Float · orphan

    fromEnum just truncates its argument, beware of all sorts of overflows.

    List generators have extremely peculiar behavior, mandated by Haskell Report 2010:

    Example1 expression
    [0..1.5 :: Float][0.0,1.0,2.0]
  • Eq FloatDefined in ghc-internal-9.1401.0 · GHC.Internal.Classes

    Note that due to the presence of NaN, Float's Eq instance does not satisfy reflexivity.

    Example1 expression
    0/0 == (0/0 :: Float)False

    Also note that Float's Eq instance does not satisfy extensionality:

    Example2 expressions
    0 == (-0 :: Float)Truerecip 0 == recip (-0 :: Float)False
  • Floating FloatDefined in ghc-internal-9.1401.0 · GHC.Internal.Float
  • Fractional FloatDefined in ghc-internal-9.1401.0 · GHC.Internal.Float · orphan

    This instance implements IEEE 754 standard with all its usual pitfalls about NaN, infinities and negative zero.

    Example4 expressions
    0 == (-0 :: Float)Truerecip 0 == recip (-0 :: Float)Falsemap (/ 0) [-1, 0, 1 :: Float][-Infinity,NaN,Infinity]map (* 0) $ map (/ 0) [-1, 0, 1 :: Float][NaN,NaN,NaN]
  • Data FloatDefined in ghc-internal-9.1401.0 · GHC.Internal.Data.Data
  • Num FloatDefined in ghc-internal-9.1401.0 · GHC.Internal.Float · orphan

    This instance implements IEEE 754 standard with all its usual pitfalls about NaN, infinities and negative zero. Neither addition nor multiplication are associative or distributive:

    Example3 expressions
    (0.1 + 0.1 :: Float) + 0.5 == 0.1 + (0.1 + 0.5)False(0.1 + 0.2 :: Float) * 0.9 == 0.1 * 0.9 + 0.2 * 0.9False(0.1 * 0.1 :: Float) * 0.9 == 0.1 * (0.1 * 0.9)False
  • Ord FloatDefined in ghc-internal-9.1401.0 · GHC.Internal.Classes

    See instance Ord Double for discussion of deviations from IEEE 754 standard.

  • Read FloatDefined in ghc-internal-9.1401.0 · GHC.Internal.Read
  • Real FloatDefined in ghc-internal-9.1401.0 · GHC.Internal.Float · orphan

    Beware that toRational generates garbage for non-finite arguments:

    Example2 expressions
    toRational (1/0 :: Float)340282366920938463463374607431768211456 % 1toRational (0/0 :: Float)510423550381407695195061911147652317184 % 1
  • RealFloat FloatDefined in ghc-internal-9.1401.0 · GHC.Internal.Float
  • RealFrac FloatDefined in ghc-internal-9.1401.0 · GHC.Internal.Float · orphan

    Beware that results for non-finite arguments are garbage:

    Example2 expressions
    [ f x | f <- [round, floor, ceiling], x <- [-1/0, 0/0, 1/0 :: Float] ] :: [Int][0,0,0,0,0,0,0,0,0]map properFraction [-1/0, 0/0, 1/0] :: [(Int, Float)][(0,0.0),(0,0.0),(0,0.0)]

    and get even more non-sensical if you ask for Integer instead of Int.

  • Show FloatDefined in ghc-internal-9.1401.0 · GHC.Internal.Float · orphan
  • Storable FloatDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.Storable
  • Lift FloatDefined in ghc-internal-9.1401.0 · GHC.Internal.TH.Lift
  • Generic1 (URec Float)Defined in ghc-internal-9.1401.0 · GHC.Internal.Generics
  • Foldable UFloatDefined in ghc-internal-9.1401.0 · GHC.Internal.Data.Foldable
  • Traversable UFloatDefined in ghc-internal-9.1401.0 · GHC.Internal.Data.Traversable
  • Functor (URec Float)Defined in ghc-internal-9.1401.0 · GHC.Internal.Generics
  • Eq (URec Float p)Defined in ghc-internal-9.1401.0 · GHC.Internal.Generics
  • Ord (URec Float p)Defined in ghc-internal-9.1401.0 · GHC.Internal.Generics
  • Show (URec Float p)Defined in ghc-internal-9.1401.0 · GHC.Internal.Generics
  • Generic (URec Float p)Defined in ghc-internal-9.1401.0 · GHC.Internal.Generics
  • type Rep (URec Float p) = D1 ('MetaData "URec" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "UFloat" 'PrefixI 'True) (S1 ('MetaSel ('Just "uFloat#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) UFloat))Defined in ghc-internal-9.1401.0 · GHC.Internal.Generics
  • type Rep1 (URec Float) = D1 ('MetaData "URec" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "UFloat" 'PrefixI 'True) (S1 ('MetaSel ('Just "uFloat#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) UFloat))Defined in ghc-internal-9.1401.0 · GHC.Internal.Generics
  • data URec FloatDefined in ghc-internal-9.1401.0 · GHC.Internal.Generics

    Used for marking occurrences of Float#

datadata Double
#

Double-precision floating point numbers. It is desirable that this type be at least equal in range and precision to the IEEE double-precision type.

Constructors

Instances25Enum, Floating, Fractional, Data, Num, Read, …
  • Enum DoubleDefined in ghc-internal-9.1401.0 · GHC.Internal.Float · orphan

    fromEnum just truncates its argument, beware of all sorts of overflows.

    List generators have extremely peculiar behavior, mandated by Haskell Report 2010:

    Example1 expression
    [0..1.5][0.0,1.0,2.0]
  • Eq DoubleDefined in ghc-internal-9.1401.0 · GHC.Internal.Classes

    Note that due to the presence of NaN, Double's Eq instance does not satisfy reflexivity.

    Example1 expression
    0/0 == (0/0 :: Double)False

    Also note that Double's Eq instance does not satisfy substitutivity:

    Example2 expressions
    0 == (-0 :: Double)Truerecip 0 == recip (-0 :: Double)False
  • Floating DoubleDefined in ghc-internal-9.1401.0 · GHC.Internal.Float
  • Fractional DoubleDefined in ghc-internal-9.1401.0 · GHC.Internal.Float · orphan

    This instance implements IEEE 754 standard with all its usual pitfalls about NaN, infinities and negative zero.

    Example4 expressions
    0 == (-0 :: Double)Truerecip 0 == recip (-0 :: Double)Falsemap (/ 0) [-1, 0, 1][-Infinity,NaN,Infinity]map (* 0) $ map (/ 0) [-1, 0, 1][NaN,NaN,NaN]
  • Data DoubleDefined in ghc-internal-9.1401.0 · GHC.Internal.Data.Data
  • Num DoubleDefined in ghc-internal-9.1401.0 · GHC.Internal.Float · orphan

    This instance implements IEEE 754 standard with all its usual pitfalls about NaN, infinities and negative zero. Neither addition nor multiplication are associative or distributive:

    Example3 expressions
    (0.1 + 0.1) + 0.4 == 0.1 + (0.1 + 0.4)False(0.1 + 0.2) * 0.3 == 0.1 * 0.3 + 0.2 * 0.3False(0.1 * 0.1) * 0.3 == 0.1 * (0.1 * 0.3)False
  • Ord DoubleDefined in ghc-internal-9.1401.0 · GHC.Internal.Classes

    IEEE 754 Double-precision type includes not only numbers, but also positive and negative infinities and a special element called NaN (which can be quiet or signal).

    IEEE 754-2008, section 5.11 requires that if at least one of arguments of <=, <, >, >= is NaN then the result of the comparison is False, and instance Ord Double complies with this requirement. This violates the reflexivity: both NaN <= NaN and NaN >= NaN are False.

    IEEE 754-2008, section 5.10 defines totalOrder predicate. Unfortunately, compare on Doubles violates the IEEE standard and does not define a total order. More specifically, both compare NaN x and compare x NaN always return GT.

    Thus, users must be extremely cautious when using instance Ord Double. For instance, one should avoid ordered containers with keys represented by Double, because data loss and corruption may happen. An IEEE-compliant compare is available in fp-ieee package as TotallyOrdered newtype.

    Moving further, the behaviour of min and max with regards to NaN is also non-compliant. IEEE 754-2008, section 5.3.1 defines that quiet NaN should be treated as a missing data by minNum and maxNum functions, for example, minNum(NaN, 1) = minNum(1, NaN) = 1. Some languages such as Java deviate from the standard implementing minNum(NaN, 1) = minNum(1, NaN) = NaN. However, min / max in base are even worse: min NaN 1 is 1, but min 1 NaN is NaN.

    IEEE 754-2008 compliant min / max can be found in ieee754 package under minNum / maxNum names. Implementations compliant with minimumNumber / maximumNumber from a newer IEEE 754-2019, section 9.6 are available from fp-ieee package.

  • Read DoubleDefined in ghc-internal-9.1401.0 · GHC.Internal.Read
  • Real DoubleDefined in ghc-internal-9.1401.0 · GHC.Internal.Float · orphan

    Beware that toRational generates garbage for non-finite arguments:

    Example2 expressions
    toRational (1/0)179769313 (and 300 more digits...) % 1toRational (0/0)269653970 (and 300 more digits...) % 1
  • RealFloat DoubleDefined in ghc-internal-9.1401.0 · GHC.Internal.Float
  • RealFrac DoubleDefined in ghc-internal-9.1401.0 · GHC.Internal.Float · orphan

    Beware that results for non-finite arguments are garbage:

    Example2 expressions
    [ f x | f <- [round, floor, ceiling], x <- [-1/0, 0/0, 1/0] ] :: [Int][0,0,0,0,0,0,0,0,0]map properFraction [-1/0, 0/0, 1/0] :: [(Int, Double)][(0,0.0),(0,0.0),(0,0.0)]

    and get even more non-sensical if you ask for Integer instead of Int.

  • Show DoubleDefined in ghc-internal-9.1401.0 · GHC.Internal.Float · orphan
  • Storable DoubleDefined in ghc-internal-9.1401.0 · GHC.Internal.Foreign.Storable
  • Lift DoubleDefined in ghc-internal-9.1401.0 · GHC.Internal.TH.Lift
  • Generic1 (URec Double)Defined in ghc-internal-9.1401.0 · GHC.Internal.Generics
  • Foldable UDoubleDefined in ghc-internal-9.1401.0 · GHC.Internal.Data.Foldable
  • Traversable UDoubleDefined in ghc-internal-9.1401.0 · GHC.Internal.Data.Traversable
  • Functor (URec Double)Defined in ghc-internal-9.1401.0 · GHC.Internal.Generics
  • Eq (URec Double p)Defined in ghc-internal-9.1401.0 · GHC.Internal.Generics
  • Ord (URec Double p)Defined in ghc-internal-9.1401.0 · GHC.Internal.Generics
  • Show (URec Double p)Defined in ghc-internal-9.1401.0 · GHC.Internal.Generics
  • Generic (URec Double p)Defined in ghc-internal-9.1401.0 · GHC.Internal.Generics
  • type Rep (URec Double p) = D1 ('MetaData "URec" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "UDouble" 'PrefixI 'True) (S1 ('MetaSel ('Just "uDouble#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) UDouble))Defined in ghc-internal-9.1401.0 · GHC.Internal.Generics
  • type Rep1 (URec Double) = D1 ('MetaData "URec" "GHC.Internal.Generics" "ghc-internal" 'False) (C1 ('MetaCons "UDouble" 'PrefixI 'True) (S1 ('MetaSel ('Just "uDouble#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) UDouble))Defined in ghc-internal-9.1401.0 · GHC.Internal.Generics
  • data URec DoubleDefined in ghc-internal-9.1401.0 · GHC.Internal.Generics

    Used for marking occurrences of Double#

datadata Ordering
#
Instances12Bounded, Enum, Eq, Data, Ord, Read, …
newtypenewtype IO a
#

A value of type IO a is a computation which, when performed, does some I/O before returning a value of type a.

There is really only one way to "perform" an I/O action: bind it to Main.main in your program. When your program is run, the I/O will be performed. It isn't possible to perform I/O from an arbitrary function, unless that function is itself in the IO monad and called at some point, directly or indirectly, from Main.main.

IO is a monad, so IO actions can be combined using either the do-notation or the Prelude.>> and Prelude.>>= operations from the Prelude.Monad class.

Constructors

Instances13Monad, Functor, MonadFix, MonadFail, Applicative, GHCiSandboxIO, …
  • Monad IODefined in ghc-internal-9.1401.0 · GHC.Internal.Base
  • Functor IODefined in ghc-internal-9.1401.0 · GHC.Internal.Base
  • MonadFix IODefined in ghc-internal-9.1401.0 · GHC.Internal.Control.Monad.Fix
  • MonadFail IODefined in ghc-internal-9.1401.0 · GHC.Internal.Control.Monad.Fail
  • Applicative IODefined in ghc-internal-9.1401.0 · GHC.Internal.Base
  • GHCiSandboxIO IODefined in ghc-internal-9.1401.0 · GHC.Internal.GHCi
  • Quote IODefined in ghc-internal-9.1401.0 · GHC.Internal.TH.Syntax
  • Alternative IODefined in ghc-internal-9.1401.0 · GHC.Internal.Base

    Takes the first non-throwing IO action's result. empty throws an exception.

  • MonadPlus IODefined in ghc-internal-9.1401.0 · GHC.Internal.Base

    Takes the first non-throwing IO action's result. mzero throws an exception.

  • MonadIO IODefined in ghc-internal-9.1401.0 · GHC.Internal.Control.Monad.IO.Class
  • Quasi IODefined in ghc-internal-9.1401.0 · GHC.Internal.TH.Syntax
  • Semigroup a => Semigroup (IO a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Base
  • Monoid a => Monoid (IO a)Defined in ghc-internal-9.1401.0 · GHC.Internal.Base
datadata List a
#

The builtin linked list type.

In Haskell, lists are one of the most important data types as they are often used analogous to loops in imperative programming languages. These lists are singly linked, which makes them unsuited for operations that require \mathcal{O}(1) access. Instead, they are intended to be traversed.

You can use List a or [a] in type signatures:

length :: [a] -> Int

or

length :: List a -> Int

They are fully equivalent, and List a will be normalised to [a].

Usage

Lists are constructed recursively using the right-associative constructor operator (or cons) (:) :: a -> [a] -> [a], which prepends an element to a list, and the empty list [].

(1 : 2 : 3 : []) == (1 : (2 : (3 : []))) == [1, 2, 3]

Lists can also be constructed using list literals of the form [x_1, x_2, ..., x_n] which are syntactic sugar and, unless -XOverloadedLists is enabled, are translated into uses of (:) and []

Data.String.String literals, like "I 💜 hs", are translated into Lists of characters, ['I', ' ', '💜', ' ', 'h', 's'].

Implementation

Internally and in memory, all the above are represented like this, with arrows being pointers to locations in memory.

╭───┬───┬──╮   ╭───┬───┬──╮   ╭───┬───┬──╮   ╭────╮
│(:)│   │ ─┼──>│(:)│   │ ─┼──>│(:)│   │ ─┼──>│ [] │
╰───┴─┼─┴──╯   ╰───┴─┼─┴──╯   ╰───┴─┼─┴──╯   ╰────╯
      v              v              v
      1              2              3
Examples
>>> ['H', 'a', 's', 'k', 'e', 'l', 'l']
"Haskell"
>>> 1 : [4, 1, 5, 9]
[1,4,1,5,9]
>>> [] : [] : []
[[],[]]
Instances25Monad, Functor, MonadFix, MonadFail, Applicative, Foldable, …
datadata SPEC
#

SPEC is used by GHC in the SpecConstr pass in order to inform the compiler when to be particularly aggressive. In particular, it tells GHC to specialize regardless of size or the number of specializations. However, not all loops fall into this category.

Libraries can specify this by using SPEC data type to inform which loops should be aggressively specialized. For example, instead of

loop x where loop arg = ...

write

loop SPEC x where loop !_ arg = ...

There is no semantic difference between SPEC and SPEC2, we just need a type with two constructors lest it is optimised away before SpecConstr.

This type is reexported from GHC.Exts since GHC 9.0 and base-4.15. For compatibility with earlier releases import it from GHC.Internal.Types in ghc-internal package.

datadata Symbol
#

(Kind) This is the kind of type-level symbols.

Instances7SingKind, TestCoercion, TestEquality, SingI, Compare, DemoteRep, …
  • SingKind SymbolDefined in ghc-internal-9.1401.0 · GHC.Internal.Generics
  • TestCoercion SSymbolDefined in ghc-internal-9.1401.0 · GHC.Internal.TypeLits
  • TestEquality SSymbolDefined in ghc-internal-9.1401.0 · GHC.Internal.TypeLits
  • KnownSymbol a => SingI aDefined in ghc-internal-9.1401.0 · GHC.Internal.Generics
  • type Compare a b = CmpSymbol a bDefined in ghc-internal-9.1401.0 · GHC.Internal.Data.Type.Ord
  • type DemoteRep Symbol = StringDefined in ghc-internal-9.1401.0 · GHC.Internal.Generics
  • data SingDefined in ghc-internal-9.1401.0 · GHC.Internal.Generics
familytype family Any :: k where
#

The type constructor Any :: forall k. k is a type to which you can unsafely coerce any type, and back.

For unsafeCoerce this means for all lifted types t that unsafeCoerce (unsafeCoerce x :: Any) :: t is equivalent to x and safe.

The same is true for *all* types when using unsafeCoerce# :: forall (r1 :: RuntimeRep) (r2 :: RuntimeRep) (a :: TYPE r1) (b :: TYPE r2). a -> b but only if you instantiate r1 and r2 to the same runtime representation. For example using (unsafeCoerce# :: forall (a :: TYPE IntRep) (b :: TYPE IntRep). a -> b) x is fine, but (unsafeCoerce# :: forall (a :: TYPE IntRep) (b :: TYPE FloatRep). a -> b) will likely cause seg-faults or worse. For this resason, users should always prefer unsafeCoerce over unsafeCoerce# when possible.

Here are some more examples: bad_a1 :: Any (TYPE 'IntRep) bad_a1 = unsafeCoerce# True

bad_a2 :: Any (TYPE ('BoxedRep 'UnliftedRep)) bad_a2 = unsafeCoerce# True Here bad_a1 is bad because we started with True :: (Bool :: Type), represented by a boxed heap pointer, and coerced it to a1 :: Any (TYPE 'IntRep), whose representation is a non-pointer integer. That's why we had to use unsafeCoerce#; it is really unsafe because it can change representations. Similarly bad_a2 is bad because although both True and bad_a2 are represented by a heap pointer, True is lifted but bad_a2@ is not; bugs here may be rather subtle.

If you must use unsafeCoerce# to cast to Any, type annotations are recommended to make sure that Any has the correct kind. As casting between different runtimereps is unsound. For example to cast a ByteArray# to Any you might use: unsafeCoerce# b :: (Any :: TYPE ('BoxedRep 'Unlifted))

Type equality

3 declarations
classclass a ~ b => (~) (a :: k) (b :: k)
#

Lifted, homogeneous equality. By lifted, we mean that it can be bogus (deferred type error). By homogeneous, the two types a and b must have the same kinds.

classclass a ~# b => (~~) (a :: k0) (b :: k1)
#

Lifted, heterogeneous equality. By lifted, we mean that it can be bogus (deferred type error). By heterogeneous, the two types a and b might have different kinds. Because ~~ can appear unexpectedly in error messages to users who do not care about the difference between heterogeneous equality ~~ and homogeneous equality ~, this is printed as ~ unless -fprint-equality-relations is set.

In 0.7.0, the fixity was set to infix 4 to match the fixity of Data.Type.Equality.:~~:.

classclass a ~ b => Coercible (a :: k) (b :: k)
#

Coercible is a two-parameter class that has instances for types a and b if the compiler can infer that they have the same representation. This class does not have regular instances; instead they are created on-the-fly during type-checking. Trying to manually declare an instance of Coercible is an error.

Nevertheless one can pretend that the following three kinds of instances exist. First, as a trivial base-case:

instance Coercible a a

Furthermore, for every type constructor there is an instance that allows to coerce under the type constructor. For example, let D be a prototypical type constructor (data or newtype) with three type arguments, which have roles nominal, representational resp. phantom. Then there is an instance of the form

instance Coercible b b' => Coercible (D a b c) (D a b' c')

Note that the nominal type arguments are equal, the representational type arguments can differ, but need to have a Coercible instance themself, and the phantom type arguments can be changed arbitrarily.

The third kind of instance exists for every newtype NT = MkNT T and comes in two variants, namely

instance Coercible a T => Coercible a NT
instance Coercible T b => Coercible NT b

This instance is only usable if the constructor MkNT is in scope.

If, as a library author of a type constructor like Set a, you want to prevent a user of your module to write coerce :: Set T -> Set NT, you need to set the role of Set's type parameter to nominal, by writing

type role Set nominal

For more details about this feature, please refer to Safe Coercions by Joachim Breitner, Richard A. Eisenberg, Simon Peyton Jones and Stephanie Weirich.

Representation polymorphism

14 declarations
datadata TYPE (a :: RuntimeRep)
#
Instances182Category, Generic1, MonadFail, Bounded, Num, Semigroup, …
datadata Levity
#

Whether a boxed type is lifted or unlifted.

Instances3Bounded, Enum, Show
  • Bounded LevityDefined in ghc-internal-9.1401.0 · GHC.Internal.Enum
  • Enum LevityDefined in ghc-internal-9.1401.0 · GHC.Internal.Enum
  • Show LevityDefined in ghc-internal-9.1401.0 · GHC.Internal.Show
datadata RuntimeRep
#

GHC maintains a property that the kind of all inhabited types (as distinct from type constructors or type-level data) tells us the runtime representation of values of that type. This datatype encodes the choice of runtime value. Note that TYPE is parameterised by RuntimeRep; this is precisely what we mean by the fact that a type's kind encodes the runtime representation.

For boxed values (that is, values that are represented by a pointer), a further distinction is made, between lifted types (that contain ⊥), and unlifted ones (that don't).

Constructors

Instances14Show, Lift, …
  • Show RuntimeRepDefined in ghc-internal-9.1401.0 · GHC.Internal.Show
  • Lift a => Lift (# a #)Defined in ghc-internal-9.1401.0 · GHC.Internal.TH.Lift
  • (Lift a, Lift b) => Lift (# a, b #)Defined in ghc-internal-9.1401.0 · GHC.Internal.TH.Lift
  • (Lift a, Lift b) => Lift (# a | b #)Defined in ghc-internal-9.1401.0 · GHC.Internal.TH.Lift
  • (Lift a, Lift b, Lift c) => Lift (# a, b, c #)Defined in ghc-internal-9.1401.0 · GHC.Internal.TH.Lift
  • (Lift a, Lift b, Lift c) => Lift (# a | b | c #)Defined in ghc-internal-9.1401.0 · GHC.Internal.TH.Lift
  • (Lift a, Lift b, Lift c, Lift d) => Lift (# a, b, c, d #)Defined in ghc-internal-9.1401.0 · GHC.Internal.TH.Lift
  • (Lift a, Lift b, Lift c, Lift d) => Lift (# a | b | c | d #)Defined in ghc-internal-9.1401.0 · GHC.Internal.TH.Lift
  • (Lift a, Lift b, Lift c, Lift d, Lift e) => Lift (# a, b, c, d, e #)Defined in ghc-internal-9.1401.0 · GHC.Internal.TH.Lift
  • (Lift a, Lift b, Lift c, Lift d, Lift e) => Lift (# a | b | c | d | e #)Defined in ghc-internal-9.1401.0 · GHC.Internal.TH.Lift
  • (Lift a, Lift b, Lift c, Lift d, Lift e, Lift f) => Lift (# a, b, c, d, e, f #)Defined in ghc-internal-9.1401.0 · GHC.Internal.TH.Lift
  • (Lift a, Lift b, Lift c, Lift d, Lift e, Lift f) => Lift (# a | b | c | d | e | f #)Defined in ghc-internal-9.1401.0 · GHC.Internal.TH.Lift
  • (Lift a, Lift b, Lift c, Lift d, Lift e, Lift f, Lift g) => Lift (# a, b, c, d, e, f, g #)Defined in ghc-internal-9.1401.0 · GHC.Internal.TH.Lift
  • (Lift a, Lift b, Lift c, Lift d, Lift e, Lift f, Lift g) => Lift (# a | b | c | d | e | f | g #)Defined in ghc-internal-9.1401.0 · GHC.Internal.TH.Lift
typetype LiftedRep = 'BoxedRep 'Lifted
#

The runtime representation of lifted types.

Instances117Category, Lift, Arrow, ArrowApply, ArrowChoice, ArrowLoop, …
typetype Type = TYPE LiftedRep
#

The kind of types with lifted values. For example Int :: Type.

The kind of boxed, unlifted values, for example Array# or a user-defined unlifted data type, using -XUnliftedDataTypes.

typetype ZeroBitRep = 'TupleRep '[]
#

The runtime representation of a zero-width tuple, represented by no bits at all

Instances1Lift
  • Lift (# #)Defined in ghc-internal-9.1401.0 · GHC.Internal.TH.Lift
typetype Void# = (# #)
#

Deprecated. Void# is now an alias for the unboxed tuple (# #).

Boxing constructors

5 declarations
datadata DictBox (a :: Constraint)
#

Data type Dict provides a simple way to wrap up a (lifted) constraint as a type

Constructors

Multiplicity types

2 declarations

Runtime type representation

6 declarations

Unboxed tuples

67 declarations
datadata Unit#
#
Instances1Lift
  • Lift (# #)Defined in ghc-internal-9.1401.0 · GHC.Internal.TH.Lift
datadata Solo# (a :: TYPE k)
#

Constructors

Instances1Lift
  • Lift a => Lift (# a #)Defined in ghc-internal-9.1401.0 · GHC.Internal.TH.Lift
datadata Tuple2# (a :: TYPE k0) (b :: TYPE k1)
#
Instances1Lift
  • (Lift a, Lift b) => Lift (# a, b #)Defined in ghc-internal-9.1401.0 · GHC.Internal.TH.Lift
datadata Tuple3# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2)
#
Instances1Lift
  • (Lift a, Lift b, Lift c) => Lift (# a, b, c #)Defined in ghc-internal-9.1401.0 · GHC.Internal.TH.Lift
datadata Tuple30# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29)
#
datadata Tuple31# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30)
#
datadata Tuple32# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31)
#
datadata Tuple33# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32)
#
datadata Tuple34# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33)
#
datadata Tuple35# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34)
#
datadata Tuple36# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35)
#
datadata Tuple37# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36)
#
datadata Tuple38# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37)
#
datadata Tuple39# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38)
#
datadata Tuple40# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39)
#
datadata Tuple41# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40)
#
datadata Tuple42# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41)
#
datadata Tuple43# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42)
#
datadata Tuple44# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43)
#
datadata Tuple45# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44)
#
datadata Tuple46# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45)
#
datadata Tuple47# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45) (t46 :: TYPE k46)
#
datadata Tuple48# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45) (t46 :: TYPE k46) (t47 :: TYPE k47)
#
datadata Tuple49# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45) (t46 :: TYPE k46) (t47 :: TYPE k47) (t48 :: TYPE k48)
#
datadata Tuple50# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45) (t46 :: TYPE k46) (t47 :: TYPE k47) (t48 :: TYPE k48) (t49 :: TYPE k49)
#
datadata Tuple51# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45) (t46 :: TYPE k46) (t47 :: TYPE k47) (t48 :: TYPE k48) (t49 :: TYPE k49) (t50 :: TYPE k50)
#
datadata Tuple52# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45) (t46 :: TYPE k46) (t47 :: TYPE k47) (t48 :: TYPE k48) (t49 :: TYPE k49) (t50 :: TYPE k50) (t51 :: TYPE k51)
#
datadata Tuple53# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45) (t46 :: TYPE k46) (t47 :: TYPE k47) (t48 :: TYPE k48) (t49 :: TYPE k49) (t50 :: TYPE k50) (t51 :: TYPE k51) (t52 :: TYPE k52)
#
datadata Tuple54# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45) (t46 :: TYPE k46) (t47 :: TYPE k47) (t48 :: TYPE k48) (t49 :: TYPE k49) (t50 :: TYPE k50) (t51 :: TYPE k51) (t52 :: TYPE k52) (t53 :: TYPE k53)
#
datadata Tuple55# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45) (t46 :: TYPE k46) (t47 :: TYPE k47) (t48 :: TYPE k48) (t49 :: TYPE k49) (t50 :: TYPE k50) (t51 :: TYPE k51) (t52 :: TYPE k52) (t53 :: TYPE k53) (t54 :: TYPE k54)
#
datadata Tuple56# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45) (t46 :: TYPE k46) (t47 :: TYPE k47) (t48 :: TYPE k48) (t49 :: TYPE k49) (t50 :: TYPE k50) (t51 :: TYPE k51) (t52 :: TYPE k52) (t53 :: TYPE k53) (t54 :: TYPE k54) (t55 :: TYPE k55)
#
datadata Tuple57# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45) (t46 :: TYPE k46) (t47 :: TYPE k47) (t48 :: TYPE k48) (t49 :: TYPE k49) (t50 :: TYPE k50) (t51 :: TYPE k51) (t52 :: TYPE k52) (t53 :: TYPE k53) (t54 :: TYPE k54) (t55 :: TYPE k55) (t56 :: TYPE k56)
#
datadata Tuple58# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45) (t46 :: TYPE k46) (t47 :: TYPE k47) (t48 :: TYPE k48) (t49 :: TYPE k49) (t50 :: TYPE k50) (t51 :: TYPE k51) (t52 :: TYPE k52) (t53 :: TYPE k53) (t54 :: TYPE k54) (t55 :: TYPE k55) (t56 :: TYPE k56) (t57 :: TYPE k57)
#
datadata Tuple59# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45) (t46 :: TYPE k46) (t47 :: TYPE k47) (t48 :: TYPE k48) (t49 :: TYPE k49) (t50 :: TYPE k50) (t51 :: TYPE k51) (t52 :: TYPE k52) (t53 :: TYPE k53) (t54 :: TYPE k54) (t55 :: TYPE k55) (t56 :: TYPE k56) (t57 :: TYPE k57) (t58 :: TYPE k58)
#
datadata Tuple60# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45) (t46 :: TYPE k46) (t47 :: TYPE k47) (t48 :: TYPE k48) (t49 :: TYPE k49) (t50 :: TYPE k50) (t51 :: TYPE k51) (t52 :: TYPE k52) (t53 :: TYPE k53) (t54 :: TYPE k54) (t55 :: TYPE k55) (t56 :: TYPE k56) (t57 :: TYPE k57) (t58 :: TYPE k58) (t59 :: TYPE k59)
#
datadata Tuple61# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45) (t46 :: TYPE k46) (t47 :: TYPE k47) (t48 :: TYPE k48) (t49 :: TYPE k49) (t50 :: TYPE k50) (t51 :: TYPE k51) (t52 :: TYPE k52) (t53 :: TYPE k53) (t54 :: TYPE k54) (t55 :: TYPE k55) (t56 :: TYPE k56) (t57 :: TYPE k57) (t58 :: TYPE k58) (t59 :: TYPE k59) (t60 :: TYPE k60)
#
datadata Tuple62# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45) (t46 :: TYPE k46) (t47 :: TYPE k47) (t48 :: TYPE k48) (t49 :: TYPE k49) (t50 :: TYPE k50) (t51 :: TYPE k51) (t52 :: TYPE k52) (t53 :: TYPE k53) (t54 :: TYPE k54) (t55 :: TYPE k55) (t56 :: TYPE k56) (t57 :: TYPE k57) (t58 :: TYPE k58) (t59 :: TYPE k59) (t60 :: TYPE k60) (t61 :: TYPE k61)
#
datadata Tuple63# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45) (t46 :: TYPE k46) (t47 :: TYPE k47) (t48 :: TYPE k48) (t49 :: TYPE k49) (t50 :: TYPE k50) (t51 :: TYPE k51) (t52 :: TYPE k52) (t53 :: TYPE k53) (t54 :: TYPE k54) (t55 :: TYPE k55) (t56 :: TYPE k56) (t57 :: TYPE k57) (t58 :: TYPE k58) (t59 :: TYPE k59) (t60 :: TYPE k60) (t61 :: TYPE k61) (t62 :: TYPE k62)
#
datadata Tuple64# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45) (t46 :: TYPE k46) (t47 :: TYPE k47) (t48 :: TYPE k48) (t49 :: TYPE k49) (t50 :: TYPE k50) (t51 :: TYPE k51) (t52 :: TYPE k52) (t53 :: TYPE k53) (t54 :: TYPE k54) (t55 :: TYPE k55) (t56 :: TYPE k56) (t57 :: TYPE k57) (t58 :: TYPE k58) (t59 :: TYPE k59) (t60 :: TYPE k60) (t61 :: TYPE k61) (t62 :: TYPE k62) (t63 :: TYPE k63)
#

Unboxed sums

62 declarations
datadata Sum2# (a :: TYPE k0) (b :: TYPE k1)
#
Instances1Lift
  • (Lift a, Lift b) => Lift (# a | b #)Defined in ghc-internal-9.1401.0 · GHC.Internal.TH.Lift
datadata Sum3# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2)
#
Instances1Lift
  • (Lift a, Lift b, Lift c) => Lift (# a | b | c #)Defined in ghc-internal-9.1401.0 · GHC.Internal.TH.Lift
datadata Sum4# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3)
#
Instances1Lift
  • (Lift a, Lift b, Lift c, Lift d) => Lift (# a | b | c | d #)Defined in ghc-internal-9.1401.0 · GHC.Internal.TH.Lift
datadata Sum31# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30)
#
datadata Sum32# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31)
#
datadata Sum33# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32)
#
datadata Sum34# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33)
#
datadata Sum35# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34)
#
datadata Sum36# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35)
#
datadata Sum37# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36)
#
datadata Sum38# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37)
#
datadata Sum39# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38)
#
datadata Sum40# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39)
#
datadata Sum41# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40)
#
datadata Sum42# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41)
#
datadata Sum43# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42)
#
datadata Sum44# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43)
#
datadata Sum45# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44)
#
datadata Sum46# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45)
#
datadata Sum47# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45) (t46 :: TYPE k46)
#
datadata Sum48# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45) (t46 :: TYPE k46) (t47 :: TYPE k47)
#
datadata Sum49# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45) (t46 :: TYPE k46) (t47 :: TYPE k47) (t48 :: TYPE k48)
#
datadata Sum50# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45) (t46 :: TYPE k46) (t47 :: TYPE k47) (t48 :: TYPE k48) (t49 :: TYPE k49)
#
datadata Sum51# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45) (t46 :: TYPE k46) (t47 :: TYPE k47) (t48 :: TYPE k48) (t49 :: TYPE k49) (t50 :: TYPE k50)
#
datadata Sum52# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45) (t46 :: TYPE k46) (t47 :: TYPE k47) (t48 :: TYPE k48) (t49 :: TYPE k49) (t50 :: TYPE k50) (t51 :: TYPE k51)
#
datadata Sum53# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45) (t46 :: TYPE k46) (t47 :: TYPE k47) (t48 :: TYPE k48) (t49 :: TYPE k49) (t50 :: TYPE k50) (t51 :: TYPE k51) (t52 :: TYPE k52)
#
datadata Sum54# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45) (t46 :: TYPE k46) (t47 :: TYPE k47) (t48 :: TYPE k48) (t49 :: TYPE k49) (t50 :: TYPE k50) (t51 :: TYPE k51) (t52 :: TYPE k52) (t53 :: TYPE k53)
#
datadata Sum55# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45) (t46 :: TYPE k46) (t47 :: TYPE k47) (t48 :: TYPE k48) (t49 :: TYPE k49) (t50 :: TYPE k50) (t51 :: TYPE k51) (t52 :: TYPE k52) (t53 :: TYPE k53) (t54 :: TYPE k54)
#
datadata Sum56# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45) (t46 :: TYPE k46) (t47 :: TYPE k47) (t48 :: TYPE k48) (t49 :: TYPE k49) (t50 :: TYPE k50) (t51 :: TYPE k51) (t52 :: TYPE k52) (t53 :: TYPE k53) (t54 :: TYPE k54) (t55 :: TYPE k55)
#
datadata Sum57# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45) (t46 :: TYPE k46) (t47 :: TYPE k47) (t48 :: TYPE k48) (t49 :: TYPE k49) (t50 :: TYPE k50) (t51 :: TYPE k51) (t52 :: TYPE k52) (t53 :: TYPE k53) (t54 :: TYPE k54) (t55 :: TYPE k55) (t56 :: TYPE k56)
#
datadata Sum58# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45) (t46 :: TYPE k46) (t47 :: TYPE k47) (t48 :: TYPE k48) (t49 :: TYPE k49) (t50 :: TYPE k50) (t51 :: TYPE k51) (t52 :: TYPE k52) (t53 :: TYPE k53) (t54 :: TYPE k54) (t55 :: TYPE k55) (t56 :: TYPE k56) (t57 :: TYPE k57)
#
datadata Sum59# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45) (t46 :: TYPE k46) (t47 :: TYPE k47) (t48 :: TYPE k48) (t49 :: TYPE k49) (t50 :: TYPE k50) (t51 :: TYPE k51) (t52 :: TYPE k52) (t53 :: TYPE k53) (t54 :: TYPE k54) (t55 :: TYPE k55) (t56 :: TYPE k56) (t57 :: TYPE k57) (t58 :: TYPE k58)
#
datadata Sum60# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45) (t46 :: TYPE k46) (t47 :: TYPE k47) (t48 :: TYPE k48) (t49 :: TYPE k49) (t50 :: TYPE k50) (t51 :: TYPE k51) (t52 :: TYPE k52) (t53 :: TYPE k53) (t54 :: TYPE k54) (t55 :: TYPE k55) (t56 :: TYPE k56) (t57 :: TYPE k57) (t58 :: TYPE k58) (t59 :: TYPE k59)
#
datadata Sum61# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45) (t46 :: TYPE k46) (t47 :: TYPE k47) (t48 :: TYPE k48) (t49 :: TYPE k49) (t50 :: TYPE k50) (t51 :: TYPE k51) (t52 :: TYPE k52) (t53 :: TYPE k53) (t54 :: TYPE k54) (t55 :: TYPE k55) (t56 :: TYPE k56) (t57 :: TYPE k57) (t58 :: TYPE k58) (t59 :: TYPE k59) (t60 :: TYPE k60)
#
datadata Sum62# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45) (t46 :: TYPE k46) (t47 :: TYPE k47) (t48 :: TYPE k48) (t49 :: TYPE k49) (t50 :: TYPE k50) (t51 :: TYPE k51) (t52 :: TYPE k52) (t53 :: TYPE k53) (t54 :: TYPE k54) (t55 :: TYPE k55) (t56 :: TYPE k56) (t57 :: TYPE k57) (t58 :: TYPE k58) (t59 :: TYPE k59) (t60 :: TYPE k60) (t61 :: TYPE k61)
#
datadata Sum63# (a :: TYPE k0) (b :: TYPE k1) (c :: TYPE k2) (d :: TYPE k3) (e :: TYPE k4) (f :: TYPE k5) (g :: TYPE k6) (h :: TYPE k7) (i :: TYPE k8) (j :: TYPE k9) (k :: TYPE k10) (l :: TYPE k11) (m :: TYPE k12) (n :: TYPE k13) (o :: TYPE k14) (p :: TYPE k15) (q :: TYPE k16) (r :: TYPE k17) (s :: TYPE k18) (t :: TYPE k19) (u :: TYPE k20) (v :: TYPE k21) (w :: TYPE k22) (x :: TYPE k23) (y :: TYPE k24) (z :: TYPE k25) (t26 :: TYPE k26) (t27 :: TYPE k27) (t28 :: TYPE k28) (t29 :: TYPE k29) (t30 :: TYPE k30) (t31 :: TYPE k31) (t32 :: TYPE k32) (t33 :: TYPE k33) (t34 :: TYPE k34) (t35 :: TYPE k35) (t36 :: TYPE k36) (t37 :: TYPE k37) (t38 :: TYPE k38) (t39 :: TYPE k39) (t40 :: TYPE k40) (t41 :: TYPE k41) (t42 :: TYPE k42) (t43 :: TYPE k43) (t44 :: TYPE k44) (t45 :: TYPE k45) (t46 :: TYPE k46) (t47 :: TYPE k47) (t48 :: TYPE k48) (t49 :: TYPE k49) (t50 :: TYPE k50) (t51 :: TYPE k51) (t52 :: TYPE k52) (t53 :: TYPE k53) (t54 :: TYPE k54) (t55 :: TYPE k55) (t56 :: TYPE k56) (t57 :: TYPE k57) (t58 :: TYPE k58) (t59 :: TYPE k59) (t60 :: TYPE k60) (t61 :: TYPE k61) (t62 :: TYPE k62)
#