HORIZON HASKELLDocslts/ghc-10.0.xaa25b892026-10-10Search names, modules, packages, or :: a typeCtrl K

GHC 10.0.0.20260917 · lts/ghc-10.0.x · aa25b89 · 2026-10-10

Moduleghc-internal-10.0.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

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

    Interpret Bool as 1-bit bit-field

  • FiniteBits BoolDefined in ghc-internal-10.0.0 · GHC.Internal.Bits
  • Storable BoolDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.Storable
  • SingKind BoolDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Lift BoolDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • SingI 'FalseDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • SingI 'TrueDefined in ghc-internal-10.0.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-10.0.0 · GHC.Internal.Generics
  • type DemoteRep Bool = BoolDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • data Sing
    • STrue :: R:SingBoola 'True
    • SFalse :: R:SingBoola 'False
    Defined in ghc-internal-10.0.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-10.0.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-10.0.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-10.0.0 · GHC.Internal.Float
  • Fractional FloatDefined in ghc-internal-10.0.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-10.0.0 · GHC.Internal.Data.Data
  • Num FloatDefined in ghc-internal-10.0.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-10.0.0 · GHC.Internal.Classes

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

  • Read FloatDefined in ghc-internal-10.0.0 · GHC.Internal.Read
  • Real FloatDefined in ghc-internal-10.0.0 · GHC.Internal.Float · orphan
  • RealFloat FloatDefined in ghc-internal-10.0.0 · GHC.Internal.Float
  • RealFrac FloatDefined in ghc-internal-10.0.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-10.0.0 · GHC.Internal.Float · orphan
  • Storable FloatDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.Storable
  • Lift FloatDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Generic1 (URec Float)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Foldable UFloatDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Traversable UFloatDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Functor (URec Float)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Eq (URec Float p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Ord (URec Float p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Show (URec Float p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (URec Float p)Defined in ghc-internal-10.0.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-10.0.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-10.0.0 · GHC.Internal.Generics
  • data URec FloatDefined in ghc-internal-10.0.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-10.0.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-10.0.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-10.0.0 · GHC.Internal.Float
  • Fractional DoubleDefined in ghc-internal-10.0.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-10.0.0 · GHC.Internal.Data.Data
  • Num DoubleDefined in ghc-internal-10.0.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-10.0.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-10.0.0 · GHC.Internal.Read
  • Real DoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Float · orphan
  • RealFloat DoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Float
  • RealFrac DoubleDefined in ghc-internal-10.0.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-10.0.0 · GHC.Internal.Float · orphan
  • Storable DoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Foreign.Storable
  • Lift DoubleDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Generic1 (URec Double)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Foldable UDoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Traversable UDoubleDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Functor (URec Double)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Eq (URec Double p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Ord (URec Double p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Show (URec Double p)Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • Generic (URec Double p)Defined in ghc-internal-10.0.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-10.0.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-10.0.0 · GHC.Internal.Generics
  • data URec DoubleDefined in ghc-internal-10.0.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-10.0.0 · GHC.Internal.Base
  • Functor IODefined in ghc-internal-10.0.0 · GHC.Internal.Base
  • MonadFix IODefined in ghc-internal-10.0.0 · GHC.Internal.Control.Monad.Fix
  • MonadFail IODefined in ghc-internal-10.0.0 · GHC.Internal.Control.Monad.Fail
  • Applicative IODefined in ghc-internal-10.0.0 · GHC.Internal.Base
  • GHCiSandboxIO IODefined in ghc-internal-10.0.0 · GHC.Internal.GHCi
  • Quote IODefined in ghc-internal-10.0.0 · GHC.Internal.TH.Monad
  • Alternative IODefined in ghc-internal-10.0.0 · GHC.Internal.Base

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

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

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

  • Quasi IODefined in ghc-internal-10.0.0 · GHC.Internal.TH.Monad
  • MonadIO IODefined in ghc-internal-10.0.0 · GHC.Internal.Control.Monad.IO.Class
  • Semigroup a => Semigroup (IO a)Defined in ghc-internal-10.0.0 · GHC.Internal.Base
  • Monoid a => Monoid (IO a)Defined in ghc-internal-10.0.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-10.0.0 · GHC.Internal.Generics
  • TestCoercion SSymbolDefined in ghc-internal-10.0.0 · GHC.Internal.TypeLits
  • TestEquality SSymbolDefined in ghc-internal-10.0.0 · GHC.Internal.TypeLits
  • KnownSymbol a => SingI aDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • type Compare a b = CmpSymbol a bDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Type.Ord
  • type DemoteRep Symbol = StringDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • data SingDefined in ghc-internal-10.0.0 · GHC.Internal.Generics
familytype family Any :: k where
#

The type constructor Any :: forall k. k allows creating an arbitrary type of the given kind.

It can be used to create a placeholder type when you only have a kind in hand.

You can use unsafeCoerce# to unsafely coerce a value from ty :: k to Any @k and back. As per the documentation of unsafeCoerce#, this is only sound if both sides have the exact sameruntime representation. Some examples:

   unsafeCoerce# True :: (Any :: Type)                -- OK
   unsafeCoerce# (1# :: Int#) :: (Any :: TYPE IntRep) -- OK
   unsafeCoerce# True :: (Any :: Type IntRep)         -- INVALID
   unsafeCoerce  True :: (Any :: UnliftedType)        -- INVALID
   unsafeCoerce  (ba :: ByteArray#) :: (Any :: Type)  -- INVALID

To avoid accidentally unsafe-coercing between different representations, it is recommended to: - use explicit type annotations or type applications at every use-site of unsafeCoerce# - use representation-monomorphic variants such as unsafeCoerce or unsafeCoerceUnlifted.

In particular, this also implies it is safe to round-trip unsafe-coercion via Any, as long as the kinds line up e.g. unsafeCoerce (unsafeCoerce (val :: a) :: Any) :: a is safe in that way.

familytype family UnusedType (k1 :: Symbol) :: k0 where
#

UnusedType @k "foo" denotes an arbitrary type of kind k and is pretty-printed as foo .

This type is used internally by GHC to fill in otherwise unconstrained type variables, such as a in length @a []. It is exported purely for documentation purposes.

You shouldn't ever see this type in the compiler's output if you don't specifically ask for it, for instance when viewing core, since the compiler will try hard to output a given UnusedType "m_0" simply as m_0.

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-10.0.0 · GHC.Internal.Enum
  • Enum LevityDefined in ghc-internal-10.0.0 · GHC.Internal.Enum
  • Show LevityDefined in ghc-internal-10.0.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-10.0.0 · GHC.Internal.Show
  • Lift a => Lift (# a #)Defined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • (Lift a, Lift b) => Lift (# a, b #)Defined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • (Lift a, Lift b) => Lift (# a | b #)Defined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • (Lift a, Lift b, Lift c) => Lift (# a, b, c #)Defined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • (Lift a, Lift b, Lift c) => Lift (# a | b | c #)Defined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • (Lift a, Lift b, Lift c, Lift d) => Lift (# a, b, c, d #)Defined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • (Lift a, Lift b, Lift c, Lift d) => Lift (# a | b | c | d #)Defined in ghc-internal-10.0.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-10.0.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-10.0.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-10.0.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-10.0.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-10.0.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-10.0.0 · GHC.Internal.TH.Lift
typetype LiftedRep = 'BoxedRep 'Lifted
#

The runtime representation of lifted types.

Instances112Category, Lift, Arrow, ArrowApply, ArrowChoice, ArrowLoop, …
  • Lift VoidDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift IntegerDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift NaturalDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift ForeignSrcLangDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift Int16Defined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift Int32Defined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift Int64Defined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift Int8Defined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift ExtensionDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift AnnLookupDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift AnnTargetDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift BangDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift BndrVisDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift BodyDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift BytesDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift CallconvDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift ClauseDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift ConDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift DecDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift DecidedStrictnessDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift DerivClauseDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift DerivStrategyDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift DocLocDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift ExpDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift FamilyResultSigDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift FixityDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift FixityDirectionDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift ForeignDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift FunDepDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift GuardDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift InfoDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift InjectivityAnnDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift InlineDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift LitDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift LocDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift MatchDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift ModNameDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift ModuleDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift NameDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift NameFlavourDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift NameIsDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift NameSpaceDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift NamespaceSpecifierDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift OccNameDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift OverlapDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift PatDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift PatSynArgsDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift PatSynDirDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift PhasesDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift PkgNameDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift PragmaDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift RangeDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift RoleDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift RuleBndrDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift RuleMatchDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift SafetyDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift SourceStrictnessDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift SourceUnpackednessDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift SpecificityDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift StmtDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift TyLitDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift TySynEqnDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift TypeDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift TypeFamilyHeadDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift BoolDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift CharDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift DoubleDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift FloatDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift IntDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift WordDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift Word16Defined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift Word32Defined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift Word64Defined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift Word8Defined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift ()Defined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Integral a => Lift (Ratio a)Defined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift a => Lift (NonEmpty a)Defined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift a => Lift (Maybe a)Defined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift a => Lift (TyVarBndr a)Defined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift a => Lift [a]Defined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Lift (TExp a)Defined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • (Lift a, Lift b) => Lift (Either a b)Defined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • (Lift a, Lift b) => Lift (a, b)Defined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • Category (->)Defined in ghc-internal-10.0.0 · GHC.Internal.Control.Category
  • (Lift a, Lift b, Lift c) => Lift (a, b, c)Defined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • (Lift a, Lift b, Lift c, Lift d) => Lift (a, b, c, d)Defined in ghc-internal-10.0.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-10.0.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-10.0.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-10.0.0 · GHC.Internal.TH.Lift
  • Lift a => Lift (# a #)Defined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • (Lift a, Lift b) => Lift (# a, b #)Defined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • (Lift a, Lift b) => Lift (# a | b #)Defined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • (Lift a, Lift b, Lift c) => Lift (# a, b, c #)Defined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • (Lift a, Lift b, Lift c) => Lift (# a | b | c #)Defined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • (Lift a, Lift b, Lift c, Lift d) => Lift (# a, b, c, d #)Defined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • (Lift a, Lift b, Lift c, Lift d) => Lift (# a | b | c | d #)Defined in ghc-internal-10.0.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-10.0.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-10.0.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-10.0.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-10.0.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-10.0.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-10.0.0 · GHC.Internal.TH.Lift
  • Arrow (->)Defined in ghc-internal-10.0.0 · GHC.Internal.Control.Arrow
  • ArrowApply (->)Defined in ghc-internal-10.0.0 · GHC.Internal.Control.Arrow
  • ArrowChoice (->)Defined in ghc-internal-10.0.0 · GHC.Internal.Control.Arrow
  • ArrowLoop (->)Defined in ghc-internal-10.0.0 · GHC.Internal.Control.Monad.Fix
  • Monad ((->) r)Defined in ghc-internal-10.0.0 · GHC.Internal.Base
  • Functor ((->) r)Defined in ghc-internal-10.0.0 · GHC.Internal.Base
  • MonadFix ((->) r)Defined in ghc-internal-10.0.0 · GHC.Internal.Control.Monad.Fix
  • Applicative ((->) r)Defined in ghc-internal-10.0.0 · GHC.Internal.Base
  • type Rep1 Par1 = D1 ('MetaData "Par1" "GHC.Internal.Generics" "ghc-internal" 'True) (C1 ('MetaCons "Par1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPar1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
  • type Rep1 (f :.: g) = D1 ('MetaData ":.:" "GHC.Internal.Generics" "ghc-internal" 'True) (C1 ('MetaCons "Comp1" 'PrefixI 'True) (S1 ('MetaSel ('Just "unComp1") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (f :.: Rec1 g)))Defined in ghc-internal-10.0.0 · GHC.Internal.Generics
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-10.0.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-10.0.0 · GHC.Internal.TH.Lift
datadata Solo# (a :: TYPE k)
#

Constructors

Instances1Lift
  • Lift a => Lift (# a #)Defined in ghc-internal-10.0.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-10.0.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-10.0.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-10.0.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-10.0.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)
#