on 2175b25 help sign in
.github/workflows/ci.yaml+13−7
since splitsnapshots
unifiedsplit
@@ -4,14 +4,20 @@ on:
4 push:
4 push:
5jobs:
5jobs:
6 build:
6 build:
7+ runs-on: ${{ matrix.os }}
8+ strategy:
9+ matrix:
10+ ghc: ['ghc884', 'ghc8101']
7− runs-on: ubuntu-latest
11+ os: [ubuntu-latest]
12+ name: GHC ${{ matrix.ghc }}
8 steps:
13 steps:
9 - uses: actions/checkout@v2
14 - uses: actions/checkout@v2
10− - uses: nixbuild/nix-quick-install-action@v21
15+ - uses: cachix/install-nix-action@v10
16+ - uses: cachix/cachix-action@v6
11 with:
17 with:
12− nix_conf: |
18+ name: juspay-nau
13− experimental-features = nix-command flakes
19+ signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
20+ # Only needed for private caches
21+ authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
14 - name: Build and test 🔧
22 - name: Build and test 🔧
15− run: nix build -j 4 -L
23+ run: nix-build -j4 --argstr compiler ${{ matrix.ghc }}
16− - name: Build and test (GHC 8.8) 🔧
17− run: nix build -j 4 -L .#jrec-ghc88
.vscode/extensions.jsondeleted−11
@@ -1,11 +0,0 @@
1−{
2− // See https://go.microsoft.com/fwlink/?LinkId=827846
3− // for the documentation about the extensions.json format
4− "recommendations": [
5− "haskell.haskell",
6− "arrterian.nix-env-selector",
7− "bbenoist.nix",
8− "jnoortheen.nix-ide",
9− "tamasfe.even-better-toml"
10− ]
11−}
.vscode/settings.json+4−5
@@ -1,6 +1,5 @@
1{
1{
2− "editor.formatOnType": true,
3− "editor.formatOnSave": true,
4− "nixEnvSelector.nixFile": "${workspaceRoot}/shell.nix",
2+ "nixEnvSelector.nixShellConfig": "${workspaceRoot}/default.nix",
5− "haskell.manageHLS": "PATH"
3+ "editor.formatOnType": true,
4+ "editor.formatOnSave": true
6−}
5+}
CHANGELOG.md−4
@@ -1,9 +1,5 @@
1# Revision history for rec
1# Revision history for rec
2
2
3−## Unreleased
4−
5−- GHC 9.2 + Aeson 2.0 support
6−
7## 0.1.0.0 -- YYYY-mm-dd
3## 0.1.0.0 -- YYYY-mm-dd
8
4
9* First version. Released on an unsuspecting world.
5* First version. Released on an unsuspecting world.
Setup.hsnew file+2
@@ -0,0 +1,2 @@
1+import Distribution.Simple
2+main = defaultMain
bin/genrecorddeleted−73
@@ -1,73 +0,0 @@
1−#!/usr/bin/env cabal
2−
3−{-# LANGUAGE OverloadedStrings #-}
4−
5−{- cabal:
6−build-depends: base, fmt
7−-}
8−
9−import Data.List
10−import Fmt
11−
12−main = do
13− let n = 62 -- max tuple size
14− putStrLn
15− "-- Generated with cabal run -v0 bin/genrecord > src/JRec/Tuple.hs\n\
16− \\n\
17− \module JRec.Tuple where\n\
18− \\n\
19− \import qualified JRec.Internal as R\n\
20− \import Unsafe.Coerce\n\
21− \\n\
22− \class RecTuple tuple fields | tuple -> fields, fields -> tuple where\n\
23− \ fromTuple :: tuple -> R.Rec fields\n\
24− \ toTuple :: R.Rec fields -> tuple\n\
25− \\n\
26− \"
27− mapM_ (putStrLn . genInstance) [0 .. n]
28−
29−genInstance :: Int -> String
30−genInstance 0 =
31− "instance RecTuple () '[] where\n\
32− \ fromTuple _ = R.rnil\n\
33− \ toTuple _ = ()\n\
34− \"
35−genInstance i =
36− let fromTuple, toTuple, constraints :: Builder
37− fromTuple =
38− format
39− "fromTuple {} = R.create $ {} R.unsafeRNil {}"
40− exprTuple
41− consApps
42− i
43− toTuple =
44− format
45− "toTuple r = let n = R.FldProxy :: R.FldProxy \"\" in unsafeCoerce {}"
46− exprGetTuple
47− constraints =
48− tupleF $
49− [format "n{} ~ n{}'" j j :: Builder | j <- [1 .. i]]
50− ++ [format "v{} ~ v{}'" j j :: Builder | j <- [1 .. i]]
51− in format
52− "instance {} => RecTuple {} {} where\n\
53− \ {}\n\
54− \ {}\n\
55− \"
56− constraints
57− typeTuple
58− typeList
59− fromTuple
60− toTuple
61− where
62− -- '[n1' R.:= v1', n2' R.:= v2']
63− typeList = "'" <> listF [format "n{}' R.:= v{}'" j j :: Builder | j <- [1 .. i]]
64− -- (n1 R.:= v1, n2 R.:= v2)
65− typeTuple = tupleF [format "n{} R.:= v{}" j j :: Builder | j <- [1 .. i]]
66− -- (f1, f2)
67− exprTuple = tupleF ["f" <> show j | j <- [1 .. i]]
68− -- [f1, f2]
69− exprList = listF ["f" <> show j | j <- [1 .. i]]
70− -- R.unsafeRCons f1 $ R.unsafeRCons f2 $
71− consApps = mconcat [format "R.unsafeRCons f{} =<< " j :: Builder | j <- [1 .. i]]
72− -- (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r)
73− exprGetTuple = tupleF [format "n R.:= R.unsafeGet {} r" j :: Builder | j <- [0 .. i-1]]
bin/test+1−3
@@ -1,5 +1,3 @@
1#!/usr/bin/env bash
1#!/usr/bin/env bash
2set -xe
2set -xe
3−
4−# NOTE: ghcid should be run with -W to allow warnings from should-not-typecheck
5−nix develop -c sh -c "ghcid $* -W -c 'cabal new-repl test:jrec-test' -T \":main $*\""
3+nix-shell --pure --run "ghcid $* -c 'cabal new-repl test:jrec-test' -T \":main $*\""
default.nixnew file+37
@@ -0,0 +1,37 @@
1+let
2+ nixpkgsSrc = builtins.fetchTarball {
3+ url = "https://github.com/nixos/nixpkgs/archive/76f2e271a2ef.tar.gz";
4+ sha256 = "1r4da3kyghqq7vzya5yb295jpnha1fgp755bi6wda4fmhyaynnsp";
5+ };
6+ gitignoreSrc = builtins.fetchTarball {
7+ url = "https://github.com/hercules-ci/gitignore/archive/c4662e6.tar.gz";
8+ sha256 = "1npnx0h6bd0d7ql93ka7azhj40zgjp815fw2r6smg8ch9p7mzdlx";
9+ };
10+ inherit (import gitignoreSrc { inherit (pkgs); }) gitignoreSource;
11+in {
12+ compiler ? "default",
13+ pkgs ? import nixpkgsSrc {},
14+}:
15+ let
16+ haskellPackages =
17+ if compiler == "default"
18+ then pkgs.haskellPackages
19+ else pkgs.haskell.packages.${compiler};
20+ projectDrv =
21+ haskellPackages.override {
22+ overrides = self: super: with pkgs.haskell.lib; {
23+ jrec = self.callCabal2nix "jrec" (gitignoreSource ./.) {};
24+ };
25+ };
26+ projectShell =
27+ projectDrv.shellFor {
28+ packages = p: [ p.jrec ];
29+ buildInputs = with projectDrv; [
30+ cabal-install
31+ ormolu
32+ haskell-language-server
33+ ghcid
34+ ];
35+ };
36+ in
37+ if pkgs.lib.inNixShell then projectShell else projectDrv.jrec
flake.lockdeleted−81
@@ -1,81 +0,0 @@
1−{
2− "nodes": {
3− "flake-parts": {
4− "inputs": {
5− "nixpkgs-lib": "nixpkgs-lib"
6− },
7− "locked": {
8− "lastModified": 1678379998,
9− "narHash": "sha256-TZdfNqftHhDuIFwBcN9MUThx5sQXCTeZk9je5byPKRw=",
10− "owner": "hercules-ci",
11− "repo": "flake-parts",
12− "rev": "c13d60b89adea3dc20704c045ec4d50dd964d447",
13− "type": "github"
14− },
15− "original": {
16− "owner": "hercules-ci",
17− "repo": "flake-parts",
18− "type": "github"
19− }
20− },
21− "nixpkgs": {
22− "locked": {
23− "lastModified": 1678594102,
24− "narHash": "sha256-OHAHYiMWJFPNxuW/PcOMlSD2tvXnEYC1jxREBADHwwQ=",
25− "owner": "nixos",
26− "repo": "nixpkgs",
27− "rev": "796b4a3c1d903c4b9270cd2548fe46f524eeb886",
28− "type": "github"
29− },
30− "original": {
31− "owner": "nixos",
32− "ref": "nixpkgs-unstable",
33− "repo": "nixpkgs",
34− "type": "github"
35− }
36− },
37− "nixpkgs-ghc88": {
38− "locked": {
39− "lastModified": 1596466290,
40− "narHash": "sha256-V1vrlYfVEdW4iauUc58LCtorSxLLF+X/PhjD5+dQjeQ=",
41− "owner": "nixos",
42− "repo": "nixpkgs",
43− "rev": "76f2e271a2ef9de3734dcc9d366a42d6bfb18e82",
44− "type": "github"
45− },
46− "original": {
47− "owner": "nixos",
48− "ref": "76f2e271a2ef",
49− "repo": "nixpkgs",
50− "type": "github"
51− }
52− },
53− "nixpkgs-lib": {
54− "locked": {
55− "dir": "lib",
56− "lastModified": 1678375444,
57− "narHash": "sha256-XIgHfGvjFvZQ8hrkfocanCDxMefc/77rXeHvYdzBMc8=",
58− "owner": "NixOS",
59− "repo": "nixpkgs",
60− "rev": "130fa0baaa2b93ec45523fdcde942f6844ee9f6e",
61− "type": "github"
62− },
63− "original": {
64− "dir": "lib",
65− "owner": "NixOS",
66− "ref": "nixos-unstable",
67− "repo": "nixpkgs",
68− "type": "github"
69− }
70− },
71− "root": {
72− "inputs": {
73− "flake-parts": "flake-parts",
74− "nixpkgs": "nixpkgs",
75− "nixpkgs-ghc88": "nixpkgs-ghc88"
76− }
77− }
78− },
79− "root": "root",
80− "version": 7
81−}
flake.nixdeleted−34
@@ -1,34 +0,0 @@
1−{
2− inputs = {
3− nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
4− nixpkgs-ghc88.url = "github:nixos/nixpkgs/76f2e271a2ef";
5− flake-parts.url = "github:hercules-ci/flake-parts";
6− };
7− outputs = inputs@{ nixpkgs, flake-parts, ... }:
8− flake-parts.lib.mkFlake { inherit inputs; } {
9− systems = nixpkgs.lib.systems.flakeExposed;
10− perSystem = { self', inputs', pkgs, system, ... }:
11− let
12− overlay = self: super: {
13− jrec = self.callCabal2nix "jrec" ./. { };
14− };
15− ghcVersions = {
16− ghc88 = inputs.nixpkgs-ghc88.legacyPackages.${system}.haskellPackages.extend overlay;
17− ghc92 = pkgs.haskellPackages.extend overlay;
18− };
19− in
20− {
21− packages.default = ghcVersions.ghc92.jrec;
22− devShells.default = ghcVersions.ghc92.shellFor {
23− packages = p: [ p.jrec ];
24− buildInputs = with ghcVersions.ghc92; [
25− cabal-install
26− ghcid
27− haskell-language-server
28− ];
29− };
30− # Expose jrec built with GHC 8.8 so it can be tested in CI.
31− packages.jrec-ghc88 = ghcVersions.ghc88.jrec;
32− };
33− };
34−}
jrec.cabal+4−27
@@ -1,6 +1,6 @@
1cabal-version: 2.4
1cabal-version: 2.4
2name: jrec
2name: jrec
3−version: 0.1.0.1
3+version: 0.1.0.0
4synopsis: anonymous records for busy people
4synopsis: anonymous records for busy people
5
5
6-- description:
6-- description:
@@ -17,27 +17,13 @@ extra-source-files:
17 CHANGELOG.md
17 CHANGELOG.md
18 README.md
18 README.md
19
19
20−flag with-aeson
21− description: Enable Aeson instances
22− -- don't let the solver fiddle with the flag
23− manual: True
24− -- with instances by default
25− default: True
26−
27−flag with-generics
28− description: Enable GHC.Generics instances
29− -- don't let the solver fiddle with the flag
30− manual: True
31− -- with instances by default
32− default: True
33−
34-- A common stanza to share with tests, so that ghcid (bin/test) will reload
20-- A common stanza to share with tests, so that ghcid (bin/test) will reload
35-- instantly when the library sources change (without us having to restart it).
21-- instantly when the library sources change (without us having to restart it).
36common library-common
22common library-common
37 default-language: Haskell2010
23 default-language: Haskell2010
38 build-depends:
24 build-depends:
39 aeson
25 aeson
40− , base >=4.13 && <4.17
26+ , base >=4.13 && <4.15
41 , constraints
27 , constraints
42 , deepseq
28 , deepseq
43 , generic-data
29 , generic-data
@@ -86,23 +72,14 @@ library
86 other-modules:
72 other-modules:
87 JRec.Tuple
73 JRec.Tuple
88 JRec.Field
74 JRec.Field
89− if flag(with-aeson)
90− cpp-options: -DWITH_AESON
91− if flag(with-generics)
92− cpp-options: -DWITH_GENERICS
93
75
94test-suite jrec-test
76test-suite jrec-test
95 import: library-common
77 import: library-common
96 type: exitcode-stdio-1.0
78 type: exitcode-stdio-1.0
97 hs-source-dirs: test, src
79 hs-source-dirs: test, src
98− main-is: Spec.hs
80+ main-is: Spec.hs
99− cpp-options: -DWITH_AESON -DWITH_GENERICS
100− other-modules:
101− JRecShouldNotTypecheckSpec
102− JRecSpec
103 build-depends:
81 build-depends:
104 base,
82 base,
105 hspec,
83 hspec,
106 QuickCheck,
84 QuickCheck,
107− lens,
85+ lens
108− should-not-typecheck
shell.nixdeleted−1
@@ -1 +0,0 @@
1−(builtins.getFlake ("git+file://" + toString ./.)).devShells.${builtins.currentSystem}.default
src/JRec.hs+16−14
@@ -1,4 +1,3 @@
1−{-# LANGUAGE CPP #-}
2{-# LANGUAGE GADTs #-}
1{-# LANGUAGE GADTs #-}
3{-# LANGUAGE PatternSynonyms #-}
2{-# LANGUAGE PatternSynonyms #-}
4{-# LANGUAGE TypeApplications #-}
3{-# LANGUAGE TypeApplications #-}
@@ -11,7 +10,7 @@ module JRec
11 append,
10 append,
12 union,
11 union,
13 insert,
12 insert,
14− insertOrSet,
13+ insertOrSet
15 )
14 )
16where
15where
17
16
@@ -50,7 +49,13 @@ unField _ (_ R.:= value) = value
50-- FIXME: See spec for a bug when there are duplicates.
49-- FIXME: See spec for a bug when there are duplicates.
51append ::
50append ::
52 forall lhs rhs res.
51 forall lhs rhs res.
52+ ( KnownNat (R.RecSize lhs),
53+ KnownNat (R.RecSize rhs),
54+ KnownNat (R.RecSize lhs + R.RecSize rhs),
53− res ~ R.RecAppend lhs rhs =>
55+ res ~ R.RecAppend lhs rhs,
56+ R.RecCopy lhs lhs res,
57+ R.RecCopy rhs rhs res
58+ ) =>
54 Rec lhs ->
59 Rec lhs ->
55 Rec rhs ->
60 Rec rhs ->
56 Rec res
61 Rec res
@@ -58,8 +63,8 @@ append = R.combine
58
63
59-- Merges records, removing duplicates
64-- Merges records, removing duplicates
60--
65--
61−-- Left-biased. Does not sort.
66+-- Left-biased. Does not sort.
62−--
67+--
63-- O(n * m) type check complexity.
68-- O(n * m) type check complexity.
64union ::
69union ::
65 forall lhs rhs res.
70 forall lhs rhs res.
@@ -78,19 +83,18 @@ union = R.union
78-- | Insert a field into a record that does not already contain it
83-- | Insert a field into a record that does not already contain it
79--
84--
80-- O(n) type check complexity.
85-- O(n) type check complexity.
81−insert ::
86+insert ::
82− forall label value lts res.
87+ forall label value lts res.
83 ( KnownNat (1 + R.RecSize lts),
88 ( KnownNat (1 + R.RecSize lts),
84 KnownNat (R.RecSize lts),
89 KnownNat (R.RecSize lts),
85 KnownSymbol label,
90 KnownSymbol label,
86 R.RecCopy lts lts res,
91 R.RecCopy lts lts res,
87 res ~ ((label := value) : lts),
92 res ~ ((label := value) : lts),
88− R.RemoveAccessTo label lts ~ lts
93+ R.KeyDoesNotExist label lts
89− ) =>
94+ ) =>
90 label := value ->
95 label := value ->
91− Rec lts ->
96+ Rec lts -> Rec res
92− Rec res
93−insert = R.combine . Rec
97+insert = R.combine . Rec
94
98
95-- | Insert a field into a record. Set it if it already exists
99-- | Insert a field into a record. Set it if it already exists
96--
100--
@@ -129,7 +133,6 @@ type RecordRep fields =
129 (Sels fields)
133 (Sels fields)
130 )
134 )
131
135
132−#ifdef WITH_GENERICS
133instance
136instance
134 (R.FromNative (RecordRep fields) fields, R.ToNative (RecordRep fields) fields) =>
137 (R.FromNative (RecordRep fields) fields, R.ToNative (RecordRep fields) fields) =>
135 Generic (Rec fields)
138 Generic (Rec fields)
@@ -139,7 +142,6 @@ instance
139 RecordRep fields
142 RecordRep fields
140 from r = R.toNative' r
143 from r = R.toNative' r
141 to rep = R.fromNative' rep
144 to rep = R.fromNative' rep
142−#endif
143
145
144----------------------------------------------------------------------------
146----------------------------------------------------------------------------
145-- generic-lens
147-- generic-lens
src/JRec/Internal.hs+102−177
@@ -1,5 +1,4 @@
1{-# LANGUAGE BangPatterns #-}
1{-# LANGUAGE BangPatterns #-}
2−{-# LANGUAGE CPP #-}
3{-# LANGUAGE ConstraintKinds #-}
2{-# LANGUAGE ConstraintKinds #-}
4{-# LANGUAGE DataKinds #-}
3{-# LANGUAGE DataKinds #-}
5{-# LANGUAGE ExistentialQuantification #-}
4{-# LANGUAGE ExistentialQuantification #-}
@@ -32,8 +31,6 @@ import qualified Control.Monad.State as S
32import Data.Aeson
31import Data.Aeson
33import Data.Aeson.Types (Parser)
32import Data.Aeson.Types (Parser)
34import Data.Constraint
33import Data.Constraint
35−import Data.List (intercalate)
36−import Data.Maybe (catMaybes)
37import Data.Proxy
34import Data.Proxy
38import qualified Data.Text as T
35import qualified Data.Text as T
39import Data.Typeable
36import Data.Typeable
@@ -43,17 +40,11 @@ import GHC.OverloadedLabels
43import GHC.Prim
40import GHC.Prim
44import GHC.ST (ST (..), runST)
41import GHC.ST (ST (..), runST)
45import GHC.TypeLits
42import GHC.TypeLits
43+import Generic.Data (gshowsPrec)
44+import Generic.Data.Internal.Show (GShow)
46import qualified Optics.Lens as OL
45import qualified Optics.Lens as OL
47import Unsafe.Coerce
46import Unsafe.Coerce
48import Prelude
47import Prelude
49−#if MIN_VERSION_aeson(2,0,0)
50−import Data.Aeson.Key (fromText, fromString)
51−#else
52−fromText :: a -> a
53−fromText = id
54−fromString :: String -> T.Text
55−fromString = T.pack
56−#endif
57
48
58-- | Field named @l@ labels value of type @t@ adapted from the awesome /labels/ package.
49-- | Field named @l@ labels value of type @t@ adapted from the awesome /labels/ package.
59-- Example: @(#name := \"Chris\") :: (\"name\" := String)@
50-- Example: @(#name := \"Chris\") :: (\"name\" := String)@
@@ -80,10 +71,6 @@ instance
80 showsPrec p (l := t) =
71 showsPrec p (l := t) =
81 showParen (p > 10) (showString ("#" ++ symbolVal l ++ " := " ++ show t))
72 showParen (p > 10) (showString ("#" ++ symbolVal l ++ " := " ++ show t))
82
73
83−unpackAssign :: (label := value) -> value
84−unpackAssign (_ := value) = value
85−{-# INLINE unpackAssign #-}
86−
87-- | A proxy witness for a label. Very similar to 'Proxy', but needed to implement
74-- | A proxy witness for a label. Very similar to 'Proxy', but needed to implement
88-- a non-orphan 'IsLabel' instance
75-- a non-orphan 'IsLabel' instance
89data FldProxy (t :: Symbol)
76data FldProxy (t :: Symbol)
@@ -100,113 +87,55 @@ data Rec (lts :: [*]) = MkRec
100 { _unRec :: SmallArray# Any -- Note that the values are physically in reverse order
87 { _unRec :: SmallArray# Any -- Note that the values are physically in reverse order
101 }
88 }
102
89
103−data JSONOptions = JSONOptions
104− {fieldTransform :: String -> String}
105−
106−defaultJSONOptions :: JSONOptions
107−defaultJSONOptions = JSONOptions {fieldTransform = id}
108−
109type role Rec representational
90type role Rec representational
110
91
111instance
92instance
112− ( RecApply lts lts Show
93+ ( RecApply lts lts Show,
94+ GShow Proxy (Rep (Rec lts)),
95+ Generic (Rec lts)
113 ) =>
96 ) =>
114 Show (Rec lts)
97 Show (Rec lts)
115 where
98 where
116− show rec = "{" ++ formatted ++ "}"
99+ show = (\x -> if null x then "{}" else x) . unwords . drop 1 . words . flip (gshowsPrec 0) ""
117− where formatted = intercalate ", " $ map (\(k, v) -> k ++ " = " ++ v) $ showRec rec
118
100
119instance RecEq lts lts => Eq (Rec lts) where
101instance RecEq lts lts => Eq (Rec lts) where
120 (==) (a :: Rec lts) (b :: Rec lts) = recEq a b (Proxy :: Proxy lts)
102 (==) (a :: Rec lts) (b :: Rec lts) = recEq a b (Proxy :: Proxy lts)
121 {-# INLINE (==) #-}
103 {-# INLINE (==) #-}
122
104
123−instance RecOrd lts lts => Ord (Rec lts) where
124− compare (a :: Rec lts) (b :: Rec lts) = recOrd a b (Proxy :: Proxy lts)
125− {-# INLINE compare #-}
126−
127−#ifdef WITH_AESON
128instance
105instance
129− ( RecApply lts lts EncodeField
106+ ( RecApply lts lts ToJSON
130 ) =>
107 ) =>
131 ToJSON (Rec lts)
108 ToJSON (Rec lts)
132 where
109 where
133− toJSON = recToValue defaultJSONOptions
110+ toJSON = recToValue
134− toEncoding = recToEncoding defaultJSONOptions
111+ toEncoding = recToEncoding
135
112
136instance (RecSize lts ~ s, KnownNat s, RecJsonParse lts) => FromJSON (Rec lts) where
113instance (RecSize lts ~ s, KnownNat s, RecJsonParse lts) => FromJSON (Rec lts) where
137− parseJSON = recJsonParser defaultJSONOptions
114+ parseJSON = recJsonParser
138−
139−#endif
140
115
141instance RecNfData lts lts => NFData (Rec lts) where
116instance RecNfData lts lts => NFData (Rec lts) where
142 rnf = recNfData (Proxy :: Proxy lts)
117 rnf = recNfData (Proxy :: Proxy lts)
143
118
144−newtype ForallST a = ForallST {unForallST :: forall s. ST s a}
145−
146-- Hack needed because $! doesn't have the same special treatment $ does to work with ST yet
119-- Hack needed because $! doesn't have the same special treatment $ does to work with ST yet
147runST' :: (forall s. ST s a) -> a
120runST' :: (forall s. ST s a) -> a
148runST' !s = runST s
121runST' !s = runST s
149
122
150-- | An empty record
123-- | An empty record
151rnil :: Rec '[]
124rnil :: Rec '[]
152−rnil = create (unsafeRNil 0)
125+rnil = unsafeRNil 0
153{-# INLINE rnil #-}
126{-# INLINE rnil #-}
154
127
155−create :: (forall s. ST s (Rec xs)) -> Rec xs
128+-- | An empty record with an initial size for the record
156−create = runST'
157−
158−unsafeRNil :: Int -> ST s (Rec '[])
129+unsafeRNil :: Int -> Rec '[]
159unsafeRNil (I# n#) =
130unsafeRNil (I# n#) =
131+ runST' $
160− ST $ \s# ->
132+ ST $ \s# ->
161− case newSmallArray# n# (error "No value") s# of
133+ case newSmallArray# n# (error "No Value") s# of
162− (# s'#, arr# #) ->
134+ (# s'#, arr# #) ->
163− case unsafeFreezeSmallArray# arr# s'# of
135+ case unsafeFreezeSmallArray# arr# s'# of
164− (# s''#, a# #) -> (# s''#, MkRec a# #)
136+ (# s''#, a# #) -> (# s''#, MkRec a# #)
165{-# INLINE unsafeRNil #-}
137{-# INLINE unsafeRNil #-}
166
138
167−-- | Prepend a record entry to a record 'Rec'. Assumes that the record was created with
168−-- 'unsafeRNil' and still has enough free slots, mutates the original 'Rec' which should
169−-- not be reused after
170−--
171−-- NOTE: doesn't use 'KeyDoesNotExist' because we rely on the fact that in
172−-- euler-ps there were no duplicate keys
173−unsafeRCons ::
174− forall l t lts size s.
175− ( RecSize lts ~ size,
176− KnownNat size
177− -- KeyDoesNotExist l lts
178− ) =>
179− l := t ->
180− Rec lts ->
181− ST s (Rec (l := t ': lts))
182−unsafeRCons (_ := val) (MkRec vec#) =
183− ST $ \s# ->
184− case unsafeThawSmallArray# vec# s# of
185− (# s'#, arr# #) ->
186− -- Write the value to be cons'ed at the *end* (hence size#) of the
187− -- array, because `Rec` stores values in reverse order.
188− case writeSmallArray# arr# size# (unsafeCoerce# val) s'# of
189− s''# ->
190− case unsafeFreezeSmallArray# arr# s''# of
191− (# s'''#, a# #) -> (# s'''#, MkRec a# #)
192− where
193− !(I# size#) = fromIntegral $ natVal' (proxy# :: Proxy# size)
194−{-# INLINE unsafeRCons #-}
195−
196−-- | Get the i-th value as Any unsafely.
197−-- No boundary check. Also ther caller is responsible for coerceing to correct type.
198−-- Intented for internal use only.
199−unsafeGet ::
200− forall lts.
201− Int ->
202− Rec lts ->
203− Any
204−unsafeGet (I# index#) (MkRec vec#) =
205− let size# = sizeofSmallArray# vec#
206− in case indexSmallArray# vec# (size# -# index# -# 1#) of
207− (# a# #) -> a#
208−{-# INLINE unsafeGet #-}
209−
210-- Not in superrecord
139-- Not in superrecord
211recCopy :: forall lts rts. RecCopy lts lts rts => Rec lts -> Rec rts
140recCopy :: forall lts rts. RecCopy lts lts rts => Rec lts -> Rec rts
212recCopy r@(MkRec vec#) =
141recCopy r@(MkRec vec#) =
@@ -251,6 +180,36 @@ instance
251 in case writeSmallArray# tgt# (size# -# index# -# 1#) (unsafeCoerce# val) s# of
180 in case writeSmallArray# tgt# (size# -# index# -# 1#) (unsafeCoerce# val) s# of
252 s'# -> recCopyInto (Proxy :: Proxy nts) lts prxy tgt# s'#
181 s'# -> recCopyInto (Proxy :: Proxy nts) lts prxy tgt# s'#
253
182
183+-- | Prepend a record entry to a record 'Rec'. Assumes that the record was created with
184+-- 'unsafeRNil' and still has enough free slots, mutates the original 'Rec' which should
185+-- not be reused after
186+--
187+-- NOTE: doesn't use 'KeyDoesNotExist' because we rely on the fact that in
188+-- euler-ps there were no duplicate keys
189+unsafeRCons ::
190+ forall l t lts s.
191+ ( RecSize lts ~ s,
192+ KnownNat s
193+ -- KeyDoesNotExist l lts
194+ ) =>
195+ l := t ->
196+ Rec lts ->
197+ Rec (l := t ': lts)
198+unsafeRCons (_ := val) (MkRec vec#) =
199+ runST' $
200+ ST $ \s# ->
201+ case unsafeThawSmallArray# vec# s# of
202+ (# s'#, arr# #) ->
203+ -- Write the value to be cons'ed at the *end* (hence size#) of the
204+ -- array, because `Rec` stores values in reverse order.
205+ case writeSmallArray# arr# size# (unsafeCoerce# val) s'# of
206+ s''# ->
207+ case unsafeFreezeSmallArray# arr# s''# of
208+ (# s'''#, a# #) -> (# s'''#, MkRec a# #)
209+ where
210+ !(I# size#) = fromIntegral $ natVal' (proxy# :: Proxy# s)
211+{-# INLINE unsafeRCons #-}
212+
254type family RecAll (c :: u -> Constraint) (rs :: [u]) :: Constraint where
213type family RecAll (c :: u -> Constraint) (rs :: [u]) :: Constraint where
255 RecAll c '[] = ()
214 RecAll c '[] = ()
256 RecAll c (r ': rs) = (c r, RecAll c rs)
215 RecAll c (r ': rs) = (c r, RecAll c rs)
@@ -263,7 +222,7 @@ type family KeyDoesNotExist (l :: Symbol) (lts :: [*]) :: Constraint where
263 )
222 )
264 KeyDoesNotExist q (l := t ': lts) = KeyDoesNotExist q lts
223 KeyDoesNotExist q (l := t ': lts) = KeyDoesNotExist q lts
265
224
266−type family Reverse (xs :: [*]) where
225+type family Reverse (xs :: [*]) where
267 Reverse '[] = '[]
226 Reverse '[] = '[]
268 Reverse (x ': xs) = RecAppend (Reverse xs) '[x]
227 Reverse (x ': xs) = RecAppend (Reverse xs) '[x]
269
228
@@ -318,9 +277,15 @@ get ::
318 FldProxy l ->
277 FldProxy l ->
319 Rec lts ->
278 Rec lts ->
320 v
279 v
321−get _ r =
280+get _ (MkRec vec#) =
281+ let !(I# index#) =
322− let !index = fromIntegral (natVal' (proxy# :: Proxy# (RecTyIdxH 0 l lts)))
282+ fromIntegral (natVal' (proxy# :: Proxy# (RecTyIdxH 0 l lts)))
283+ size# = sizeofSmallArray# vec#
284+ anyVal :: Any
285+ anyVal =
286+ case indexSmallArray# vec# (size# -# index# -# 1#) of
287+ (# a# #) -> a#
323− in unsafeCoerce $ unsafeGet index r
288+ in unsafeCoerce# anyVal
324{-# INLINE get #-}
289{-# INLINE get #-}
325
290
326-- | Alias for 'get'
291-- | Alias for 'get'
@@ -409,20 +374,26 @@ type family RecDeepTy (ps :: r) (lts :: [*]) :: * where
409-- NOTE: changed from original superrecord to not require a 'Sort'
374-- NOTE: changed from original superrecord to not require a 'Sort'
410combine ::
375combine ::
411 forall lhs rhs res.
376 forall lhs rhs res.
377+ ( KnownNat (RecSize lhs),
378+ KnownNat (RecSize rhs),
379+ KnownNat (RecSize lhs + RecSize rhs),
412− res ~ RecAppend lhs rhs =>
380+ res ~ RecAppend lhs rhs,
381+ RecCopy lhs lhs res,
382+ RecCopy rhs rhs res
383+ ) =>
413 Rec lhs ->
384 Rec lhs ->
414 Rec rhs ->
385 Rec rhs ->
415 Rec res
386 Rec res
416−combine (MkRec arr0#) (MkRec arr1#) =
387+combine lts rts =
417− let !size0# = sizeofSmallArray# arr0#
388+ let !(I# size#) =
418− !size1# = sizeofSmallArray# arr1#
389+ fromIntegral $ natVal' (proxy# :: Proxy# (RecSize lhs + RecSize rhs))
419 in runST' $
390 in runST' $
420 ST $ \s# ->
391 ST $ \s# ->
421− case newSmallArray# (size0# +# size1#) (error "No value") s# of
392+ case newSmallArray# size# (error "No value") s# of
422 (# s'#, arr# #) ->
393 (# s'#, arr# #) ->
423− case copySmallArray# arr1# 0# arr# 0# size1# s'# of
394+ case recCopyInto (Proxy :: Proxy lhs) lts (Proxy :: Proxy res) arr# s'# of
424 s''# ->
395 s''# ->
425− case copySmallArray# arr0# 0# arr# size1# size0# s''# of
396+ case recCopyInto (Proxy :: Proxy rhs) rts (Proxy :: Proxy res) arr# s''# of
426 s'''# ->
397 s'''# ->
427 case unsafeFreezeSmallArray# arr# s'''# of
398 case unsafeFreezeSmallArray# arr# s'''# of
428 (# s''''#, a# #) -> (# s''''#, MkRec a# #)
399 (# s''''#, a# #) -> (# s''''#, MkRec a# #)
@@ -459,7 +430,7 @@ union lts rts =
459{-# INLINE union #-}
430{-# INLINE union #-}
460
431
461-- | Insert a field
432-- | Insert a field
462−--
433+--
463-- Insert at beginning, unless the field already exists, in which case set it
434-- Insert at beginning, unless the field already exists, in which case set it
464-- directly.
435-- directly.
465insert ::
436insert ::
@@ -476,23 +447,30 @@ insert ::
476insert (l := v) rts =
447insert (l := v) rts =
477 let !(I# size#) =
448 let !(I# size#) =
478 fromIntegral $ natVal' (proxy# :: Proxy# (RecSize res))
449 fromIntegral $ natVal' (proxy# :: Proxy# (RecSize res))
479− in runST' $ do
450+ in runST' $
480− single <- unsafeRCons (l := v) =<< unsafeRNil 1
481 ST $ \s# ->
451 ST $ \s# ->
482 case newSmallArray# size# (error "No value") s# of
452 case newSmallArray# size# (error "No value") s# of
483 (# s'#, arr# #) ->
453 (# s'#, arr# #) ->
484 case recCopyInto (Proxy :: Proxy rhs) rts (Proxy :: Proxy res) arr# s'# of
454 case recCopyInto (Proxy :: Proxy rhs) rts (Proxy :: Proxy res) arr# s'# of
485 s''# ->
455 s''# ->
486− case recCopyInto (Proxy :: Proxy '[l := v]) single (Proxy :: Proxy res) arr# s''# of
456+ case recCopyInto (Proxy :: Proxy '[l := v]) (unsafeRCons (l := v) $ unsafeRNil 1) (Proxy :: Proxy res) arr# s''# of
487 s'''# ->
457 s'''# ->
488 case unsafeFreezeSmallArray# arr# s'''# of
458 case unsafeFreezeSmallArray# arr# s'''# of
489 (# s''''#, a# #) -> (# s''''#, MkRec a# #)
459 (# s''''#, a# #) -> (# s''''#, MkRec a# #)
490{-# INLINE insert #-}
460{-# INLINE insert #-}
491
461
462+
463+
492-- | Alias for 'combine'
464-- | Alias for 'combine'
493(++:) ::
465(++:) ::
494 forall lhs rhs res.
466 forall lhs rhs res.
467+ ( KnownNat (RecSize lhs),
468+ KnownNat (RecSize rhs),
469+ KnownNat (RecSize lhs + RecSize rhs),
495− res ~ RecAppend lhs rhs =>
470+ res ~ RecAppend lhs rhs,
471+ RecCopy lhs lhs res,
472+ RecCopy rhs rhs res
473+ ) =>
496 Rec lhs ->
474 Rec lhs ->
497 Rec rhs ->
475 Rec rhs ->
498 Rec res
476 Rec res
@@ -560,34 +538,16 @@ reflectRecFold _ f r =
560showRec :: forall lts. (RecApply lts lts Show) => Rec lts -> [(String, String)]
538showRec :: forall lts. (RecApply lts lts Show) => Rec lts -> [(String, String)]
561showRec = reflectRec @Show Proxy (\k v -> (k, show v))
539showRec = reflectRec @Show Proxy (\k v -> (k, show v))
562
540
563−class ToJSON a => EncodeField a where
541+recToValue :: forall lts. (RecApply lts lts ToJSON) => Rec lts -> Value
564− encodeField :: a -> Maybe Value
542+recToValue r = object $ reflectRec @ToJSON Proxy (\k v -> (T.pack k, toJSON v)) r
565− encodeKV :: T.Text -> a -> Series
566−
567−instance ToJSON a => EncodeField a where
568− encodeField = pure . toJSON
569− encodeKV k v = fromText k .= v
570−
571−instance {-# OVERLAPS #-} ToJSON a => EncodeField (Maybe a) where
572− encodeField = fmap toJSON
573− encodeKV _ Nothing = mempty
574− encodeKV k v = fromText k .= v
575
543
576−recToValue :: forall lts. (RecApply lts lts EncodeField) => JSONOptions -> Rec lts -> Value
544+recToEncoding :: forall lts. (RecApply lts lts ToJSON) => Rec lts -> Encoding
577−recToValue options r =
545+recToEncoding r = pairs $ mconcat $ reflectRec @ToJSON Proxy (\k v -> (T.pack k .= v)) r
578− object $ catMaybes $ reflectRec @EncodeField Proxy (\k v -> (fromString (fieldTransform options k),) <$> encodeField v) r
579
546
580−recToEncoding :: forall lts. (RecApply lts lts EncodeField) => JSONOptions -> Rec lts -> Encoding
581−recToEncoding options r =
582− pairs $ mconcat $ reflectRec @EncodeField Proxy (\k v -> (T.pack (fieldTransform options k) `encodeKV` v)) r
583−
584−recJsonParser ::
585− forall lts s.
586− (RecSize lts ~ s, KnownNat s, RecJsonParse lts) =>
547+recJsonParser :: forall lts s. (RecSize lts ~ s, KnownNat s, RecJsonParse lts) => Value -> Parser (Rec lts)
587− (JSONOptions -> Value -> Parser (Rec lts))
588−recJsonParser options =
548+recJsonParser =
589 withObject "Record" $ \o ->
549 withObject "Record" $ \o ->
590− (\(ForallST act) -> create act) <$> recJsonParse options initSize o
550+ recJsonParse initSize o
591 where
551 where
592 initSize = fromIntegral $ natVal' (proxy# :: Proxy# s)
552 initSize = fromIntegral $ natVal' (proxy# :: Proxy# s)
593
553
@@ -639,30 +599,6 @@ instance
639 pNext = Proxy
599 pNext = Proxy
640 in res && recEq r1 r2 pNext
600 in res && recEq r1 r2 pNext
641
601
642−-- | Machinery to implement order
643−class RecEq rts lts => RecOrd (rts :: [*]) (lts :: [*]) where
644− recOrd :: Rec rts -> Rec rts -> Proxy lts -> Ordering
645−
646−instance RecOrd rts '[] where
647− recOrd _ _ _ = EQ
648−
649−instance
650− ( RecOrd rts (RemoveAccessTo l lts),
651− Has l rts v,
652− Ord v
653− ) =>
654− RecOrd rts (l := t ': lts)
655− where
656− recOrd r1 r2 (_ :: Proxy (l := t ': lts)) =
657− let lbl :: FldProxy l
658− lbl = FldProxy
659− val1 = get lbl r1
660− val2 = get lbl r2
661− ord = compare val1 val2
662− pNext :: Proxy (RemoveAccessTo l (l := t ': lts))
663− pNext = Proxy
664− in if ord == EQ then recOrd r1 r2 pNext else ord
665−
666-- TODO: this probably slows typechecking in euler-ps, and should not be needed
602-- TODO: this probably slows typechecking in euler-ps, and should not be needed
667type family RemoveAccessTo (l :: Symbol) (lts :: [*]) :: [*] where
603type family RemoveAccessTo (l :: Symbol) (lts :: [*]) :: [*] where
668 RemoveAccessTo l (l := t ': lts) = RemoveAccessTo l lts
604 RemoveAccessTo l (l := t ': lts) = RemoveAccessTo l lts
@@ -671,24 +607,14 @@ type family RemoveAccessTo (l :: Symbol) (lts :: [*]) :: [*] where
671
607
672-- | Machinery to implement parseJSON
608-- | Machinery to implement parseJSON
673class RecJsonParse (lts :: [*]) where
609class RecJsonParse (lts :: [*]) where
674− recJsonParse :: JSONOptions -> Int -> Object -> Parser (ForallST (Rec lts))
610+ recJsonParse :: Int -> Object -> Parser (Rec lts)
675
611
676instance RecJsonParse '[] where
612instance RecJsonParse '[] where
677− recJsonParse _ initSize _ = pure (ForallST (unsafeRNil initSize))
613+ recJsonParse initSize _ = pure (unsafeRNil initSize)
678−
679−class FromJSON a => ParseField a where
680− parseField :: Object -> T.Text -> Parser a
681−
682−instance FromJSON a => ParseField a where
683− parseField o k = o .: fromText k
684−
685−instance {-# OVERLAPS #-} FromJSON a => ParseField (Maybe a) where
686− parseField o k = o .:? fromText k
687
614
688instance
615instance
689 ( KnownSymbol l,
616 ( KnownSymbol l,
690 FromJSON t,
617 FromJSON t,
691− ParseField t,
692 RecJsonParse lts,
618 RecJsonParse lts,
693 RecSize lts ~ s,
619 RecSize lts ~ s,
694 KnownNat s,
620 KnownNat s,
@@ -696,12 +622,13 @@ instance
696 ) =>
622 ) =>
697 RecJsonParse (l := t ': lts)
623 RecJsonParse (l := t ': lts)
698 where
624 where
699− recJsonParse options initSize obj = do
625+ recJsonParse initSize obj =
626+ do
700− let lbl :: FldProxy l
627+ let lbl :: FldProxy l
701− lbl = FldProxy
628+ lbl = FldProxy
702− rest <- recJsonParse options initSize obj
629+ rest <- recJsonParse initSize obj
703− (v :: t) <- obj `parseField` T.pack (fieldTransform options (symbolVal lbl))
630+ (v :: t) <- obj .: T.pack (symbolVal lbl)
704− pure $ ForallST (unsafeRCons (lbl := v) =<< unForallST rest)
631+ pure $ unsafeRCons (lbl := v) rest
705
632
706-- | Machinery for NFData
633-- | Machinery for NFData
707class RecNfData (lts :: [*]) (rts :: [*]) where
634class RecNfData (lts :: [*]) (rts :: [*]) where
@@ -742,9 +669,7 @@ instance
742 ) =>
669 ) =>
743 FromNative (S1 ('MetaSel ('Just name) p s l) (Rec0 t)) '[name := t]
670 FromNative (S1 ('MetaSel ('Just name) p s l) (Rec0 t)) '[name := t]
744 where
671 where
745− fromNative' (M1 (K1 t)) =
746− create $
747− unsafeRCons ((FldProxy :: FldProxy name) := t) =<< unsafeRNil 1
672+ fromNative' (M1 (K1 t)) = ((FldProxy :: FldProxy name) := t) `unsafeRCons` unsafeRNil 1
748
673
749instance
674instance
750 ( FromNative l lhs,
675 ( FromNative l lhs,
@@ -819,7 +744,7 @@ class NoConstraint x
819instance NoConstraint x
744instance NoConstraint x
820
745
821-- | Convert a record into a list of fields.
746-- | Convert a record into a list of fields.
822−--
747+--
823-- | Not present in original superrecord
748-- | Not present in original superrecord
824getFields :: RecApply fields fields NoConstraint => Rec fields -> [Any]
749getFields :: RecApply fields fields NoConstraint => Rec fields -> [Any]
825getFields =
750getFields =
src/JRec/Tuple.hs+188−253
@@ -1,264 +1,199 @@
1-- Generated with cabal run -v0 bin/genrecord > src/JRec/Tuple.hs
1-- Generated with cabal run -v0 bin/genrecord > src/JRec/Tuple.hs
2−
2+-- TODO: Import this script, and make it generate 'JRec' instead of 'Record'
3module JRec.Tuple where
3module JRec.Tuple where
4−
4+import Prelude
5import qualified JRec.Internal as R
5import qualified JRec.Internal as R
6import Unsafe.Coerce
6import Unsafe.Coerce
7−
8class RecTuple tuple fields | tuple -> fields, fields -> tuple where
7class RecTuple tuple fields | tuple -> fields, fields -> tuple where
9 fromTuple :: tuple -> R.Rec fields
8 fromTuple :: tuple -> R.Rec fields
10 toTuple :: R.Rec fields -> tuple
9 toTuple :: R.Rec fields -> tuple
11
10
12−
13instance RecTuple () '[] where
11instance RecTuple () '[] where
14 fromTuple _ = R.rnil
12 fromTuple _ = R.rnil
15 toTuple _ = ()
13 toTuple _ = ()
16−
14+instance (R.RecApply '[n1' R.:= v1'] '[n1' R.:= v1'] R.NoConstraint, n1 ~ n1', v1 ~ v1') => RecTuple (n1 R.:= v1) '[n1' R.:= v1'] where
17−instance (n1 ~ n1', v1 ~ v1') => RecTuple (n1 R.:= v1) '[n1' R.:= v1'] where
15+ fromTuple (f1) = R.unsafeRCons f1 $ R.unsafeRNil 1
18− fromTuple (f1) = R.create $ R.unsafeRCons f1 =<< R.unsafeRNil 1
16+ toTuple r = let [f1] = R.getFields r in unsafeCoerce (f1)
19− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r)
17+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2'] '[n1' R.:= v1', n2' R.:= v2'] R.NoConstraint, n1 ~ n1', n2 ~ n2', v1 ~ v1', v2 ~ v2') => RecTuple (n1 R.:= v1, n2 R.:= v2) '[n1' R.:= v1', n2' R.:= v2'] where
20−
18+ fromTuple (f1, f2) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRNil 2
21−instance (n1 ~ n1', n2 ~ n2', v1 ~ v1', v2 ~ v2') => RecTuple (n1 R.:= v1, n2 R.:= v2) '[n1' R.:= v1', n2' R.:= v2'] where
19+ toTuple r = let [f1, f2] = R.getFields r in unsafeCoerce (f1, f2)
22− fromTuple (f1, f2) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRNil 2
20+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', v1 ~ v1', v2 ~ v2', v3 ~ v3') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3'] where
23− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r)
21+ fromTuple (f1, f2, f3) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRNil 3
24−
22+ toTuple r = let [f1, f2, f3] = R.getFields r in unsafeCoerce (f1, f2, f3)
25−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', v1 ~ v1', v2 ~ v2', v3 ~ v3') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3'] where
23+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4'] where
26− fromTuple (f1, f2, f3) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRNil 3
24+ fromTuple (f1, f2, f3, f4) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRNil 4
27− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r)
25+ toTuple r = let [f1, f2, f3, f4] = R.getFields r in unsafeCoerce (f1, f2, f3, f4)
28−
26+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5'] where
29−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4'] where
27+ fromTuple (f1, f2, f3, f4, f5) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRNil 5
30− fromTuple (f1, f2, f3, f4) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRNil 4
28+ toTuple r = let [f1, f2, f3, f4, f5] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5)
31− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r)
29+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6'] where
32−
30+ fromTuple (f1, f2, f3, f4, f5, f6) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRNil 6
33−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5'] where
31+ toTuple r = let [f1, f2, f3, f4, f5, f6] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6)
34− fromTuple (f1, f2, f3, f4, f5) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRNil 5
32+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7'] where
35− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r)
33+ fromTuple (f1, f2, f3, f4, f5, f6, f7) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRNil 7
36−
34+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7)
37−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6'] where
35+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8'] where
38− fromTuple (f1, f2, f3, f4, f5, f6) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRNil 6
36+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRNil 8
39− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r)
37+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8)
40−
38+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9'] where
41−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7'] where
39+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRNil 9
42− fromTuple (f1, f2, f3, f4, f5, f6, f7) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRNil 7
40+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9)
43− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r)
41+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10'] where
44−
42+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRNil 10
45−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8'] where
43+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10)
46− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRNil 8
44+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11'] where
47− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r)
45+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRNil 11
48−
46+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11)
49−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9'] where
47+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12'] where
50− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRNil 9
48+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRNil 12
51− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r)
49+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12)
52−
50+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13'] where
53−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10'] where
51+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRNil 13
54− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRNil 10
52+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13)
55− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r)
53+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14'] where
56−
54+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRNil 14
57−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11'] where
55+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14)
58− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRNil 11
56+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15'] where
59− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r)
57+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRNil 15
60−
58+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15)
61−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12'] where
59+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16'] where
62− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRNil 12
60+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRNil 16
63− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r)
61+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16)
64−
62+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17'] where
65−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13'] where
63+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRNil 17
66− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRNil 13
64+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17)
67− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r)
65+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18'] where
68−
66+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRNil 18
69−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14'] where
67+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18)
70− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRNil 14
68+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19'] where
71− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r)
69+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRNil 19
72−
70+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19)
73−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15'] where
71+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20'] where
74− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRNil 15
72+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRNil 20
75− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r)
73+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20)
76−
74+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21'] where
77−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16'] where
75+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRNil 21
78− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRNil 16
76+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21)
79− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r)
77+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22'] where
80−
78+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRNil 22
81−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17'] where
79+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22)
82− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRNil 17
80+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23'] where
83− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r)
81+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRNil 23
84−
82+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23)
85−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18'] where
83+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24'] where
86− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRNil 18
84+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRNil 24
87− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r)
85+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24)
88−
86+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25'] where
89−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19'] where
87+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRNil 25
90− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRNil 19
88+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25)
91− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r)
89+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26'] where
92−
90+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRNil 26
93−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20'] where
91+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26)
94− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRNil 20
92+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27'] where
95− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r)
93+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRCons f27 $ R.unsafeRNil 27
96−
94+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27)
97−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21'] where
95+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28'] where
98− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRNil 21
96+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRCons f27 $ R.unsafeRCons f28 $ R.unsafeRNil 28
99− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r)
97+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28)
100−
98+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29'] where
101−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22'] where
99+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRCons f27 $ R.unsafeRCons f28 $ R.unsafeRCons f29 $ R.unsafeRNil 29
102− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRNil 22
100+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29)
103− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r)
101+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30'] where
104−
102+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRCons f27 $ R.unsafeRCons f28 $ R.unsafeRCons f29 $ R.unsafeRCons f30 $ R.unsafeRNil 30
105−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23'] where
103+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30)
106− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRNil 23
104+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31'] where
107− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r)
105+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRCons f27 $ R.unsafeRCons f28 $ R.unsafeRCons f29 $ R.unsafeRCons f30 $ R.unsafeRCons f31 $ R.unsafeRNil 31
108−
106+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31)
109−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24'] where
107+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32'] where
110− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRNil 24
108+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRCons f27 $ R.unsafeRCons f28 $ R.unsafeRCons f29 $ R.unsafeRCons f30 $ R.unsafeRCons f31 $ R.unsafeRCons f32 $ R.unsafeRNil 32
111− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r)
109+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32)
112−
110+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33'] where
113−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25'] where
111+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRCons f27 $ R.unsafeRCons f28 $ R.unsafeRCons f29 $ R.unsafeRCons f30 $ R.unsafeRCons f31 $ R.unsafeRCons f32 $ R.unsafeRCons f33 $ R.unsafeRNil 33
114− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRNil 25
112+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33)
115− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r)
113+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34'] where
116−
114+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRCons f27 $ R.unsafeRCons f28 $ R.unsafeRCons f29 $ R.unsafeRCons f30 $ R.unsafeRCons f31 $ R.unsafeRCons f32 $ R.unsafeRCons f33 $ R.unsafeRCons f34 $ R.unsafeRNil 34
117−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26'] where
115+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34)
118− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRNil 26
116+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35'] where
119− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r)
117+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRCons f27 $ R.unsafeRCons f28 $ R.unsafeRCons f29 $ R.unsafeRCons f30 $ R.unsafeRCons f31 $ R.unsafeRCons f32 $ R.unsafeRCons f33 $ R.unsafeRCons f34 $ R.unsafeRCons f35 $ R.unsafeRNil 35
120−
118+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35)
121−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27'] where
119+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36'] where
122− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRCons f27 =<< R.unsafeRNil 27
120+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRCons f27 $ R.unsafeRCons f28 $ R.unsafeRCons f29 $ R.unsafeRCons f30 $ R.unsafeRCons f31 $ R.unsafeRCons f32 $ R.unsafeRCons f33 $ R.unsafeRCons f34 $ R.unsafeRCons f35 $ R.unsafeRCons f36 $ R.unsafeRNil 36
123− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r, n R.:= R.unsafeGet 26 r)
121+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36)
124−
122+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37'] where
125−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28'] where
123+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRCons f27 $ R.unsafeRCons f28 $ R.unsafeRCons f29 $ R.unsafeRCons f30 $ R.unsafeRCons f31 $ R.unsafeRCons f32 $ R.unsafeRCons f33 $ R.unsafeRCons f34 $ R.unsafeRCons f35 $ R.unsafeRCons f36 $ R.unsafeRCons f37 $ R.unsafeRNil 37
126− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRCons f27 =<< R.unsafeRCons f28 =<< R.unsafeRNil 28
124+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37)
127− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r, n R.:= R.unsafeGet 26 r, n R.:= R.unsafeGet 27 r)
125+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38'] where
128−
126+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRCons f27 $ R.unsafeRCons f28 $ R.unsafeRCons f29 $ R.unsafeRCons f30 $ R.unsafeRCons f31 $ R.unsafeRCons f32 $ R.unsafeRCons f33 $ R.unsafeRCons f34 $ R.unsafeRCons f35 $ R.unsafeRCons f36 $ R.unsafeRCons f37 $ R.unsafeRCons f38 $ R.unsafeRNil 38
129−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29'] where
127+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38)
130− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRCons f27 =<< R.unsafeRCons f28 =<< R.unsafeRCons f29 =<< R.unsafeRNil 29
128+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39'] where
131− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r, n R.:= R.unsafeGet 26 r, n R.:= R.unsafeGet 27 r, n R.:= R.unsafeGet 28 r)
129+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRCons f27 $ R.unsafeRCons f28 $ R.unsafeRCons f29 $ R.unsafeRCons f30 $ R.unsafeRCons f31 $ R.unsafeRCons f32 $ R.unsafeRCons f33 $ R.unsafeRCons f34 $ R.unsafeRCons f35 $ R.unsafeRCons f36 $ R.unsafeRCons f37 $ R.unsafeRCons f38 $ R.unsafeRCons f39 $ R.unsafeRNil 39
132−
130+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39)
133−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30'] where
131+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40'] where
134− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRCons f27 =<< R.unsafeRCons f28 =<< R.unsafeRCons f29 =<< R.unsafeRCons f30 =<< R.unsafeRNil 30
132+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRCons f27 $ R.unsafeRCons f28 $ R.unsafeRCons f29 $ R.unsafeRCons f30 $ R.unsafeRCons f31 $ R.unsafeRCons f32 $ R.unsafeRCons f33 $ R.unsafeRCons f34 $ R.unsafeRCons f35 $ R.unsafeRCons f36 $ R.unsafeRCons f37 $ R.unsafeRCons f38 $ R.unsafeRCons f39 $ R.unsafeRCons f40 $ R.unsafeRNil 40
135− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r, n R.:= R.unsafeGet 26 r, n R.:= R.unsafeGet 27 r, n R.:= R.unsafeGet 28 r, n R.:= R.unsafeGet 29 r)
133+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40)
136−
134+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41'] where
137−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31'] where
135+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRCons f27 $ R.unsafeRCons f28 $ R.unsafeRCons f29 $ R.unsafeRCons f30 $ R.unsafeRCons f31 $ R.unsafeRCons f32 $ R.unsafeRCons f33 $ R.unsafeRCons f34 $ R.unsafeRCons f35 $ R.unsafeRCons f36 $ R.unsafeRCons f37 $ R.unsafeRCons f38 $ R.unsafeRCons f39 $ R.unsafeRCons f40 $ R.unsafeRCons f41 $ R.unsafeRNil 41
138− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRCons f27 =<< R.unsafeRCons f28 =<< R.unsafeRCons f29 =<< R.unsafeRCons f30 =<< R.unsafeRCons f31 =<< R.unsafeRNil 31
136+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41)
139− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r, n R.:= R.unsafeGet 26 r, n R.:= R.unsafeGet 27 r, n R.:= R.unsafeGet 28 r, n R.:= R.unsafeGet 29 r, n R.:= R.unsafeGet 30 r)
137+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42'] where
140−
138+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRCons f27 $ R.unsafeRCons f28 $ R.unsafeRCons f29 $ R.unsafeRCons f30 $ R.unsafeRCons f31 $ R.unsafeRCons f32 $ R.unsafeRCons f33 $ R.unsafeRCons f34 $ R.unsafeRCons f35 $ R.unsafeRCons f36 $ R.unsafeRCons f37 $ R.unsafeRCons f38 $ R.unsafeRCons f39 $ R.unsafeRCons f40 $ R.unsafeRCons f41 $ R.unsafeRCons f42 $ R.unsafeRNil 42
141−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32'] where
139+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42)
142− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRCons f27 =<< R.unsafeRCons f28 =<< R.unsafeRCons f29 =<< R.unsafeRCons f30 =<< R.unsafeRCons f31 =<< R.unsafeRCons f32 =<< R.unsafeRNil 32
140+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43'] where
143− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r, n R.:= R.unsafeGet 26 r, n R.:= R.unsafeGet 27 r, n R.:= R.unsafeGet 28 r, n R.:= R.unsafeGet 29 r, n R.:= R.unsafeGet 30 r, n R.:= R.unsafeGet 31 r)
141+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRCons f27 $ R.unsafeRCons f28 $ R.unsafeRCons f29 $ R.unsafeRCons f30 $ R.unsafeRCons f31 $ R.unsafeRCons f32 $ R.unsafeRCons f33 $ R.unsafeRCons f34 $ R.unsafeRCons f35 $ R.unsafeRCons f36 $ R.unsafeRCons f37 $ R.unsafeRCons f38 $ R.unsafeRCons f39 $ R.unsafeRCons f40 $ R.unsafeRCons f41 $ R.unsafeRCons f42 $ R.unsafeRCons f43 $ R.unsafeRNil 43
144−
142+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43)
145−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33'] where
143+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44'] where
146− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRCons f27 =<< R.unsafeRCons f28 =<< R.unsafeRCons f29 =<< R.unsafeRCons f30 =<< R.unsafeRCons f31 =<< R.unsafeRCons f32 =<< R.unsafeRCons f33 =<< R.unsafeRNil 33
144+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRCons f27 $ R.unsafeRCons f28 $ R.unsafeRCons f29 $ R.unsafeRCons f30 $ R.unsafeRCons f31 $ R.unsafeRCons f32 $ R.unsafeRCons f33 $ R.unsafeRCons f34 $ R.unsafeRCons f35 $ R.unsafeRCons f36 $ R.unsafeRCons f37 $ R.unsafeRCons f38 $ R.unsafeRCons f39 $ R.unsafeRCons f40 $ R.unsafeRCons f41 $ R.unsafeRCons f42 $ R.unsafeRCons f43 $ R.unsafeRCons f44 $ R.unsafeRNil 44
147− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r, n R.:= R.unsafeGet 26 r, n R.:= R.unsafeGet 27 r, n R.:= R.unsafeGet 28 r, n R.:= R.unsafeGet 29 r, n R.:= R.unsafeGet 30 r, n R.:= R.unsafeGet 31 r, n R.:= R.unsafeGet 32 r)
145+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44)
148−
146+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', n45 ~ n45', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44', v45 ~ v45') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44, n45 R.:= v45) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45'] where
149−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34'] where
147+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRCons f27 $ R.unsafeRCons f28 $ R.unsafeRCons f29 $ R.unsafeRCons f30 $ R.unsafeRCons f31 $ R.unsafeRCons f32 $ R.unsafeRCons f33 $ R.unsafeRCons f34 $ R.unsafeRCons f35 $ R.unsafeRCons f36 $ R.unsafeRCons f37 $ R.unsafeRCons f38 $ R.unsafeRCons f39 $ R.unsafeRCons f40 $ R.unsafeRCons f41 $ R.unsafeRCons f42 $ R.unsafeRCons f43 $ R.unsafeRCons f44 $ R.unsafeRCons f45 $ R.unsafeRNil 45
150− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRCons f27 =<< R.unsafeRCons f28 =<< R.unsafeRCons f29 =<< R.unsafeRCons f30 =<< R.unsafeRCons f31 =<< R.unsafeRCons f32 =<< R.unsafeRCons f33 =<< R.unsafeRCons f34 =<< R.unsafeRNil 34
148+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45)
151− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r, n R.:= R.unsafeGet 26 r, n R.:= R.unsafeGet 27 r, n R.:= R.unsafeGet 28 r, n R.:= R.unsafeGet 29 r, n R.:= R.unsafeGet 30 r, n R.:= R.unsafeGet 31 r, n R.:= R.unsafeGet 32 r, n R.:= R.unsafeGet 33 r)
149+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', n45 ~ n45', n46 ~ n46', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44', v45 ~ v45', v46 ~ v46') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44, n45 R.:= v45, n46 R.:= v46) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46'] where
152−
150+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRCons f27 $ R.unsafeRCons f28 $ R.unsafeRCons f29 $ R.unsafeRCons f30 $ R.unsafeRCons f31 $ R.unsafeRCons f32 $ R.unsafeRCons f33 $ R.unsafeRCons f34 $ R.unsafeRCons f35 $ R.unsafeRCons f36 $ R.unsafeRCons f37 $ R.unsafeRCons f38 $ R.unsafeRCons f39 $ R.unsafeRCons f40 $ R.unsafeRCons f41 $ R.unsafeRCons f42 $ R.unsafeRCons f43 $ R.unsafeRCons f44 $ R.unsafeRCons f45 $ R.unsafeRCons f46 $ R.unsafeRNil 46
153−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35'] where
151+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46)
154− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRCons f27 =<< R.unsafeRCons f28 =<< R.unsafeRCons f29 =<< R.unsafeRCons f30 =<< R.unsafeRCons f31 =<< R.unsafeRCons f32 =<< R.unsafeRCons f33 =<< R.unsafeRCons f34 =<< R.unsafeRCons f35 =<< R.unsafeRNil 35
152+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', n45 ~ n45', n46 ~ n46', n47 ~ n47', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44', v45 ~ v45', v46 ~ v46', v47 ~ v47') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44, n45 R.:= v45, n46 R.:= v46, n47 R.:= v47) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47'] where
155− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r, n R.:= R.unsafeGet 26 r, n R.:= R.unsafeGet 27 r, n R.:= R.unsafeGet 28 r, n R.:= R.unsafeGet 29 r, n R.:= R.unsafeGet 30 r, n R.:= R.unsafeGet 31 r, n R.:= R.unsafeGet 32 r, n R.:= R.unsafeGet 33 r, n R.:= R.unsafeGet 34 r)
153+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRCons f27 $ R.unsafeRCons f28 $ R.unsafeRCons f29 $ R.unsafeRCons f30 $ R.unsafeRCons f31 $ R.unsafeRCons f32 $ R.unsafeRCons f33 $ R.unsafeRCons f34 $ R.unsafeRCons f35 $ R.unsafeRCons f36 $ R.unsafeRCons f37 $ R.unsafeRCons f38 $ R.unsafeRCons f39 $ R.unsafeRCons f40 $ R.unsafeRCons f41 $ R.unsafeRCons f42 $ R.unsafeRCons f43 $ R.unsafeRCons f44 $ R.unsafeRCons f45 $ R.unsafeRCons f46 $ R.unsafeRCons f47 $ R.unsafeRNil 47
156−
154+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47)
157−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36'] where
155+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', n45 ~ n45', n46 ~ n46', n47 ~ n47', n48 ~ n48', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44', v45 ~ v45', v46 ~ v46', v47 ~ v47', v48 ~ v48') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44, n45 R.:= v45, n46 R.:= v46, n47 R.:= v47, n48 R.:= v48) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48'] where
158− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRCons f27 =<< R.unsafeRCons f28 =<< R.unsafeRCons f29 =<< R.unsafeRCons f30 =<< R.unsafeRCons f31 =<< R.unsafeRCons f32 =<< R.unsafeRCons f33 =<< R.unsafeRCons f34 =<< R.unsafeRCons f35 =<< R.unsafeRCons f36 =<< R.unsafeRNil 36
156+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRCons f27 $ R.unsafeRCons f28 $ R.unsafeRCons f29 $ R.unsafeRCons f30 $ R.unsafeRCons f31 $ R.unsafeRCons f32 $ R.unsafeRCons f33 $ R.unsafeRCons f34 $ R.unsafeRCons f35 $ R.unsafeRCons f36 $ R.unsafeRCons f37 $ R.unsafeRCons f38 $ R.unsafeRCons f39 $ R.unsafeRCons f40 $ R.unsafeRCons f41 $ R.unsafeRCons f42 $ R.unsafeRCons f43 $ R.unsafeRCons f44 $ R.unsafeRCons f45 $ R.unsafeRCons f46 $ R.unsafeRCons f47 $ R.unsafeRCons f48 $ R.unsafeRNil 48
159− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r, n R.:= R.unsafeGet 26 r, n R.:= R.unsafeGet 27 r, n R.:= R.unsafeGet 28 r, n R.:= R.unsafeGet 29 r, n R.:= R.unsafeGet 30 r, n R.:= R.unsafeGet 31 r, n R.:= R.unsafeGet 32 r, n R.:= R.unsafeGet 33 r, n R.:= R.unsafeGet 34 r, n R.:= R.unsafeGet 35 r)
157+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48)
160−
158+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', n45 ~ n45', n46 ~ n46', n47 ~ n47', n48 ~ n48', n49 ~ n49', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44', v45 ~ v45', v46 ~ v46', v47 ~ v47', v48 ~ v48', v49 ~ v49') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44, n45 R.:= v45, n46 R.:= v46, n47 R.:= v47, n48 R.:= v48, n49 R.:= v49) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49'] where
161−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37'] where
159+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRCons f27 $ R.unsafeRCons f28 $ R.unsafeRCons f29 $ R.unsafeRCons f30 $ R.unsafeRCons f31 $ R.unsafeRCons f32 $ R.unsafeRCons f33 $ R.unsafeRCons f34 $ R.unsafeRCons f35 $ R.unsafeRCons f36 $ R.unsafeRCons f37 $ R.unsafeRCons f38 $ R.unsafeRCons f39 $ R.unsafeRCons f40 $ R.unsafeRCons f41 $ R.unsafeRCons f42 $ R.unsafeRCons f43 $ R.unsafeRCons f44 $ R.unsafeRCons f45 $ R.unsafeRCons f46 $ R.unsafeRCons f47 $ R.unsafeRCons f48 $ R.unsafeRCons f49 $ R.unsafeRNil 49
162− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRCons f27 =<< R.unsafeRCons f28 =<< R.unsafeRCons f29 =<< R.unsafeRCons f30 =<< R.unsafeRCons f31 =<< R.unsafeRCons f32 =<< R.unsafeRCons f33 =<< R.unsafeRCons f34 =<< R.unsafeRCons f35 =<< R.unsafeRCons f36 =<< R.unsafeRCons f37 =<< R.unsafeRNil 37
160+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49)
163− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r, n R.:= R.unsafeGet 26 r, n R.:= R.unsafeGet 27 r, n R.:= R.unsafeGet 28 r, n R.:= R.unsafeGet 29 r, n R.:= R.unsafeGet 30 r, n R.:= R.unsafeGet 31 r, n R.:= R.unsafeGet 32 r, n R.:= R.unsafeGet 33 r, n R.:= R.unsafeGet 34 r, n R.:= R.unsafeGet 35 r, n R.:= R.unsafeGet 36 r)
161+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', n45 ~ n45', n46 ~ n46', n47 ~ n47', n48 ~ n48', n49 ~ n49', n50 ~ n50', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44', v45 ~ v45', v46 ~ v46', v47 ~ v47', v48 ~ v48', v49 ~ v49', v50 ~ v50') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44, n45 R.:= v45, n46 R.:= v46, n47 R.:= v47, n48 R.:= v48, n49 R.:= v49, n50 R.:= v50) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50'] where
164−
162+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRCons f27 $ R.unsafeRCons f28 $ R.unsafeRCons f29 $ R.unsafeRCons f30 $ R.unsafeRCons f31 $ R.unsafeRCons f32 $ R.unsafeRCons f33 $ R.unsafeRCons f34 $ R.unsafeRCons f35 $ R.unsafeRCons f36 $ R.unsafeRCons f37 $ R.unsafeRCons f38 $ R.unsafeRCons f39 $ R.unsafeRCons f40 $ R.unsafeRCons f41 $ R.unsafeRCons f42 $ R.unsafeRCons f43 $ R.unsafeRCons f44 $ R.unsafeRCons f45 $ R.unsafeRCons f46 $ R.unsafeRCons f47 $ R.unsafeRCons f48 $ R.unsafeRCons f49 $ R.unsafeRCons f50 $ R.unsafeRNil 50
165−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38'] where
163+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50)
166− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRCons f27 =<< R.unsafeRCons f28 =<< R.unsafeRCons f29 =<< R.unsafeRCons f30 =<< R.unsafeRCons f31 =<< R.unsafeRCons f32 =<< R.unsafeRCons f33 =<< R.unsafeRCons f34 =<< R.unsafeRCons f35 =<< R.unsafeRCons f36 =<< R.unsafeRCons f37 =<< R.unsafeRCons f38 =<< R.unsafeRNil 38
164+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', n45 ~ n45', n46 ~ n46', n47 ~ n47', n48 ~ n48', n49 ~ n49', n50 ~ n50', n51 ~ n51', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44', v45 ~ v45', v46 ~ v46', v47 ~ v47', v48 ~ v48', v49 ~ v49', v50 ~ v50', v51 ~ v51') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44, n45 R.:= v45, n46 R.:= v46, n47 R.:= v47, n48 R.:= v48, n49 R.:= v49, n50 R.:= v50, n51 R.:= v51) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51'] where
167− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r, n R.:= R.unsafeGet 26 r, n R.:= R.unsafeGet 27 r, n R.:= R.unsafeGet 28 r, n R.:= R.unsafeGet 29 r, n R.:= R.unsafeGet 30 r, n R.:= R.unsafeGet 31 r, n R.:= R.unsafeGet 32 r, n R.:= R.unsafeGet 33 r, n R.:= R.unsafeGet 34 r, n R.:= R.unsafeGet 35 r, n R.:= R.unsafeGet 36 r, n R.:= R.unsafeGet 37 r)
165+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRCons f27 $ R.unsafeRCons f28 $ R.unsafeRCons f29 $ R.unsafeRCons f30 $ R.unsafeRCons f31 $ R.unsafeRCons f32 $ R.unsafeRCons f33 $ R.unsafeRCons f34 $ R.unsafeRCons f35 $ R.unsafeRCons f36 $ R.unsafeRCons f37 $ R.unsafeRCons f38 $ R.unsafeRCons f39 $ R.unsafeRCons f40 $ R.unsafeRCons f41 $ R.unsafeRCons f42 $ R.unsafeRCons f43 $ R.unsafeRCons f44 $ R.unsafeRCons f45 $ R.unsafeRCons f46 $ R.unsafeRCons f47 $ R.unsafeRCons f48 $ R.unsafeRCons f49 $ R.unsafeRCons f50 $ R.unsafeRCons f51 $ R.unsafeRNil 51
168−
166+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51)
169−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39'] where
167+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', n45 ~ n45', n46 ~ n46', n47 ~ n47', n48 ~ n48', n49 ~ n49', n50 ~ n50', n51 ~ n51', n52 ~ n52', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44', v45 ~ v45', v46 ~ v46', v47 ~ v47', v48 ~ v48', v49 ~ v49', v50 ~ v50', v51 ~ v51', v52 ~ v52') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44, n45 R.:= v45, n46 R.:= v46, n47 R.:= v47, n48 R.:= v48, n49 R.:= v49, n50 R.:= v50, n51 R.:= v51, n52 R.:= v52) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52'] where
170− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRCons f27 =<< R.unsafeRCons f28 =<< R.unsafeRCons f29 =<< R.unsafeRCons f30 =<< R.unsafeRCons f31 =<< R.unsafeRCons f32 =<< R.unsafeRCons f33 =<< R.unsafeRCons f34 =<< R.unsafeRCons f35 =<< R.unsafeRCons f36 =<< R.unsafeRCons f37 =<< R.unsafeRCons f38 =<< R.unsafeRCons f39 =<< R.unsafeRNil 39
168+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRCons f27 $ R.unsafeRCons f28 $ R.unsafeRCons f29 $ R.unsafeRCons f30 $ R.unsafeRCons f31 $ R.unsafeRCons f32 $ R.unsafeRCons f33 $ R.unsafeRCons f34 $ R.unsafeRCons f35 $ R.unsafeRCons f36 $ R.unsafeRCons f37 $ R.unsafeRCons f38 $ R.unsafeRCons f39 $ R.unsafeRCons f40 $ R.unsafeRCons f41 $ R.unsafeRCons f42 $ R.unsafeRCons f43 $ R.unsafeRCons f44 $ R.unsafeRCons f45 $ R.unsafeRCons f46 $ R.unsafeRCons f47 $ R.unsafeRCons f48 $ R.unsafeRCons f49 $ R.unsafeRCons f50 $ R.unsafeRCons f51 $ R.unsafeRCons f52 $ R.unsafeRNil 52
171− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r, n R.:= R.unsafeGet 26 r, n R.:= R.unsafeGet 27 r, n R.:= R.unsafeGet 28 r, n R.:= R.unsafeGet 29 r, n R.:= R.unsafeGet 30 r, n R.:= R.unsafeGet 31 r, n R.:= R.unsafeGet 32 r, n R.:= R.unsafeGet 33 r, n R.:= R.unsafeGet 34 r, n R.:= R.unsafeGet 35 r, n R.:= R.unsafeGet 36 r, n R.:= R.unsafeGet 37 r, n R.:= R.unsafeGet 38 r)
169+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52)
172−
170+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', n45 ~ n45', n46 ~ n46', n47 ~ n47', n48 ~ n48', n49 ~ n49', n50 ~ n50', n51 ~ n51', n52 ~ n52', n53 ~ n53', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44', v45 ~ v45', v46 ~ v46', v47 ~ v47', v48 ~ v48', v49 ~ v49', v50 ~ v50', v51 ~ v51', v52 ~ v52', v53 ~ v53') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44, n45 R.:= v45, n46 R.:= v46, n47 R.:= v47, n48 R.:= v48, n49 R.:= v49, n50 R.:= v50, n51 R.:= v51, n52 R.:= v52, n53 R.:= v53) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53'] where
173−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40'] where
171+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRCons f27 $ R.unsafeRCons f28 $ R.unsafeRCons f29 $ R.unsafeRCons f30 $ R.unsafeRCons f31 $ R.unsafeRCons f32 $ R.unsafeRCons f33 $ R.unsafeRCons f34 $ R.unsafeRCons f35 $ R.unsafeRCons f36 $ R.unsafeRCons f37 $ R.unsafeRCons f38 $ R.unsafeRCons f39 $ R.unsafeRCons f40 $ R.unsafeRCons f41 $ R.unsafeRCons f42 $ R.unsafeRCons f43 $ R.unsafeRCons f44 $ R.unsafeRCons f45 $ R.unsafeRCons f46 $ R.unsafeRCons f47 $ R.unsafeRCons f48 $ R.unsafeRCons f49 $ R.unsafeRCons f50 $ R.unsafeRCons f51 $ R.unsafeRCons f52 $ R.unsafeRCons f53 $ R.unsafeRNil 53
174− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRCons f27 =<< R.unsafeRCons f28 =<< R.unsafeRCons f29 =<< R.unsafeRCons f30 =<< R.unsafeRCons f31 =<< R.unsafeRCons f32 =<< R.unsafeRCons f33 =<< R.unsafeRCons f34 =<< R.unsafeRCons f35 =<< R.unsafeRCons f36 =<< R.unsafeRCons f37 =<< R.unsafeRCons f38 =<< R.unsafeRCons f39 =<< R.unsafeRCons f40 =<< R.unsafeRNil 40
172+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53)
175− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r, n R.:= R.unsafeGet 26 r, n R.:= R.unsafeGet 27 r, n R.:= R.unsafeGet 28 r, n R.:= R.unsafeGet 29 r, n R.:= R.unsafeGet 30 r, n R.:= R.unsafeGet 31 r, n R.:= R.unsafeGet 32 r, n R.:= R.unsafeGet 33 r, n R.:= R.unsafeGet 34 r, n R.:= R.unsafeGet 35 r, n R.:= R.unsafeGet 36 r, n R.:= R.unsafeGet 37 r, n R.:= R.unsafeGet 38 r, n R.:= R.unsafeGet 39 r)
173+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53', n54' R.:= v54'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53', n54' R.:= v54'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', n45 ~ n45', n46 ~ n46', n47 ~ n47', n48 ~ n48', n49 ~ n49', n50 ~ n50', n51 ~ n51', n52 ~ n52', n53 ~ n53', n54 ~ n54', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44', v45 ~ v45', v46 ~ v46', v47 ~ v47', v48 ~ v48', v49 ~ v49', v50 ~ v50', v51 ~ v51', v52 ~ v52', v53 ~ v53', v54 ~ v54') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44, n45 R.:= v45, n46 R.:= v46, n47 R.:= v47, n48 R.:= v48, n49 R.:= v49, n50 R.:= v50, n51 R.:= v51, n52 R.:= v52, n53 R.:= v53, n54 R.:= v54) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53', n54' R.:= v54'] where
176−
174+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRCons f27 $ R.unsafeRCons f28 $ R.unsafeRCons f29 $ R.unsafeRCons f30 $ R.unsafeRCons f31 $ R.unsafeRCons f32 $ R.unsafeRCons f33 $ R.unsafeRCons f34 $ R.unsafeRCons f35 $ R.unsafeRCons f36 $ R.unsafeRCons f37 $ R.unsafeRCons f38 $ R.unsafeRCons f39 $ R.unsafeRCons f40 $ R.unsafeRCons f41 $ R.unsafeRCons f42 $ R.unsafeRCons f43 $ R.unsafeRCons f44 $ R.unsafeRCons f45 $ R.unsafeRCons f46 $ R.unsafeRCons f47 $ R.unsafeRCons f48 $ R.unsafeRCons f49 $ R.unsafeRCons f50 $ R.unsafeRCons f51 $ R.unsafeRCons f52 $ R.unsafeRCons f53 $ R.unsafeRCons f54 $ R.unsafeRNil 54
177−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41'] where
175+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54)
178− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRCons f27 =<< R.unsafeRCons f28 =<< R.unsafeRCons f29 =<< R.unsafeRCons f30 =<< R.unsafeRCons f31 =<< R.unsafeRCons f32 =<< R.unsafeRCons f33 =<< R.unsafeRCons f34 =<< R.unsafeRCons f35 =<< R.unsafeRCons f36 =<< R.unsafeRCons f37 =<< R.unsafeRCons f38 =<< R.unsafeRCons f39 =<< R.unsafeRCons f40 =<< R.unsafeRCons f41 =<< R.unsafeRNil 41
176+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53', n54' R.:= v54', n55' R.:= v55'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53', n54' R.:= v54', n55' R.:= v55'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', n45 ~ n45', n46 ~ n46', n47 ~ n47', n48 ~ n48', n49 ~ n49', n50 ~ n50', n51 ~ n51', n52 ~ n52', n53 ~ n53', n54 ~ n54', n55 ~ n55', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44', v45 ~ v45', v46 ~ v46', v47 ~ v47', v48 ~ v48', v49 ~ v49', v50 ~ v50', v51 ~ v51', v52 ~ v52', v53 ~ v53', v54 ~ v54', v55 ~ v55') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44, n45 R.:= v45, n46 R.:= v46, n47 R.:= v47, n48 R.:= v48, n49 R.:= v49, n50 R.:= v50, n51 R.:= v51, n52 R.:= v52, n53 R.:= v53, n54 R.:= v54, n55 R.:= v55) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53', n54' R.:= v54', n55' R.:= v55'] where
179− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r, n R.:= R.unsafeGet 26 r, n R.:= R.unsafeGet 27 r, n R.:= R.unsafeGet 28 r, n R.:= R.unsafeGet 29 r, n R.:= R.unsafeGet 30 r, n R.:= R.unsafeGet 31 r, n R.:= R.unsafeGet 32 r, n R.:= R.unsafeGet 33 r, n R.:= R.unsafeGet 34 r, n R.:= R.unsafeGet 35 r, n R.:= R.unsafeGet 36 r, n R.:= R.unsafeGet 37 r, n R.:= R.unsafeGet 38 r, n R.:= R.unsafeGet 39 r, n R.:= R.unsafeGet 40 r)
177+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54, f55) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRCons f27 $ R.unsafeRCons f28 $ R.unsafeRCons f29 $ R.unsafeRCons f30 $ R.unsafeRCons f31 $ R.unsafeRCons f32 $ R.unsafeRCons f33 $ R.unsafeRCons f34 $ R.unsafeRCons f35 $ R.unsafeRCons f36 $ R.unsafeRCons f37 $ R.unsafeRCons f38 $ R.unsafeRCons f39 $ R.unsafeRCons f40 $ R.unsafeRCons f41 $ R.unsafeRCons f42 $ R.unsafeRCons f43 $ R.unsafeRCons f44 $ R.unsafeRCons f45 $ R.unsafeRCons f46 $ R.unsafeRCons f47 $ R.unsafeRCons f48 $ R.unsafeRCons f49 $ R.unsafeRCons f50 $ R.unsafeRCons f51 $ R.unsafeRCons f52 $ R.unsafeRCons f53 $ R.unsafeRCons f54 $ R.unsafeRCons f55 $ R.unsafeRNil 55
180−
178+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54, f55] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54, f55)
181−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42'] where
179+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53', n54' R.:= v54', n55' R.:= v55', n56' R.:= v56'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53', n54' R.:= v54', n55' R.:= v55', n56' R.:= v56'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', n45 ~ n45', n46 ~ n46', n47 ~ n47', n48 ~ n48', n49 ~ n49', n50 ~ n50', n51 ~ n51', n52 ~ n52', n53 ~ n53', n54 ~ n54', n55 ~ n55', n56 ~ n56', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44', v45 ~ v45', v46 ~ v46', v47 ~ v47', v48 ~ v48', v49 ~ v49', v50 ~ v50', v51 ~ v51', v52 ~ v52', v53 ~ v53', v54 ~ v54', v55 ~ v55', v56 ~ v56') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44, n45 R.:= v45, n46 R.:= v46, n47 R.:= v47, n48 R.:= v48, n49 R.:= v49, n50 R.:= v50, n51 R.:= v51, n52 R.:= v52, n53 R.:= v53, n54 R.:= v54, n55 R.:= v55, n56 R.:= v56) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53', n54' R.:= v54', n55' R.:= v55', n56' R.:= v56'] where
182− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRCons f27 =<< R.unsafeRCons f28 =<< R.unsafeRCons f29 =<< R.unsafeRCons f30 =<< R.unsafeRCons f31 =<< R.unsafeRCons f32 =<< R.unsafeRCons f33 =<< R.unsafeRCons f34 =<< R.unsafeRCons f35 =<< R.unsafeRCons f36 =<< R.unsafeRCons f37 =<< R.unsafeRCons f38 =<< R.unsafeRCons f39 =<< R.unsafeRCons f40 =<< R.unsafeRCons f41 =<< R.unsafeRCons f42 =<< R.unsafeRNil 42
180+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRCons f27 $ R.unsafeRCons f28 $ R.unsafeRCons f29 $ R.unsafeRCons f30 $ R.unsafeRCons f31 $ R.unsafeRCons f32 $ R.unsafeRCons f33 $ R.unsafeRCons f34 $ R.unsafeRCons f35 $ R.unsafeRCons f36 $ R.unsafeRCons f37 $ R.unsafeRCons f38 $ R.unsafeRCons f39 $ R.unsafeRCons f40 $ R.unsafeRCons f41 $ R.unsafeRCons f42 $ R.unsafeRCons f43 $ R.unsafeRCons f44 $ R.unsafeRCons f45 $ R.unsafeRCons f46 $ R.unsafeRCons f47 $ R.unsafeRCons f48 $ R.unsafeRCons f49 $ R.unsafeRCons f50 $ R.unsafeRCons f51 $ R.unsafeRCons f52 $ R.unsafeRCons f53 $ R.unsafeRCons f54 $ R.unsafeRCons f55 $ R.unsafeRCons f56 $ R.unsafeRNil 56
183− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r, n R.:= R.unsafeGet 26 r, n R.:= R.unsafeGet 27 r, n R.:= R.unsafeGet 28 r, n R.:= R.unsafeGet 29 r, n R.:= R.unsafeGet 30 r, n R.:= R.unsafeGet 31 r, n R.:= R.unsafeGet 32 r, n R.:= R.unsafeGet 33 r, n R.:= R.unsafeGet 34 r, n R.:= R.unsafeGet 35 r, n R.:= R.unsafeGet 36 r, n R.:= R.unsafeGet 37 r, n R.:= R.unsafeGet 38 r, n R.:= R.unsafeGet 39 r, n R.:= R.unsafeGet 40 r, n R.:= R.unsafeGet 41 r)
181+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56)
184−
182+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53', n54' R.:= v54', n55' R.:= v55', n56' R.:= v56', n57' R.:= v57'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53', n54' R.:= v54', n55' R.:= v55', n56' R.:= v56', n57' R.:= v57'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', n45 ~ n45', n46 ~ n46', n47 ~ n47', n48 ~ n48', n49 ~ n49', n50 ~ n50', n51 ~ n51', n52 ~ n52', n53 ~ n53', n54 ~ n54', n55 ~ n55', n56 ~ n56', n57 ~ n57', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44', v45 ~ v45', v46 ~ v46', v47 ~ v47', v48 ~ v48', v49 ~ v49', v50 ~ v50', v51 ~ v51', v52 ~ v52', v53 ~ v53', v54 ~ v54', v55 ~ v55', v56 ~ v56', v57 ~ v57') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44, n45 R.:= v45, n46 R.:= v46, n47 R.:= v47, n48 R.:= v48, n49 R.:= v49, n50 R.:= v50, n51 R.:= v51, n52 R.:= v52, n53 R.:= v53, n54 R.:= v54, n55 R.:= v55, n56 R.:= v56, n57 R.:= v57) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53', n54' R.:= v54', n55' R.:= v55', n56' R.:= v56', n57' R.:= v57'] where
185−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43'] where
183+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, f57) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRCons f27 $ R.unsafeRCons f28 $ R.unsafeRCons f29 $ R.unsafeRCons f30 $ R.unsafeRCons f31 $ R.unsafeRCons f32 $ R.unsafeRCons f33 $ R.unsafeRCons f34 $ R.unsafeRCons f35 $ R.unsafeRCons f36 $ R.unsafeRCons f37 $ R.unsafeRCons f38 $ R.unsafeRCons f39 $ R.unsafeRCons f40 $ R.unsafeRCons f41 $ R.unsafeRCons f42 $ R.unsafeRCons f43 $ R.unsafeRCons f44 $ R.unsafeRCons f45 $ R.unsafeRCons f46 $ R.unsafeRCons f47 $ R.unsafeRCons f48 $ R.unsafeRCons f49 $ R.unsafeRCons f50 $ R.unsafeRCons f51 $ R.unsafeRCons f52 $ R.unsafeRCons f53 $ R.unsafeRCons f54 $ R.unsafeRCons f55 $ R.unsafeRCons f56 $ R.unsafeRCons f57 $ R.unsafeRNil 57
186− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRCons f27 =<< R.unsafeRCons f28 =<< R.unsafeRCons f29 =<< R.unsafeRCons f30 =<< R.unsafeRCons f31 =<< R.unsafeRCons f32 =<< R.unsafeRCons f33 =<< R.unsafeRCons f34 =<< R.unsafeRCons f35 =<< R.unsafeRCons f36 =<< R.unsafeRCons f37 =<< R.unsafeRCons f38 =<< R.unsafeRCons f39 =<< R.unsafeRCons f40 =<< R.unsafeRCons f41 =<< R.unsafeRCons f42 =<< R.unsafeRCons f43 =<< R.unsafeRNil 43
184+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, f57] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, f57)
187− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r, n R.:= R.unsafeGet 26 r, n R.:= R.unsafeGet 27 r, n R.:= R.unsafeGet 28 r, n R.:= R.unsafeGet 29 r, n R.:= R.unsafeGet 30 r, n R.:= R.unsafeGet 31 r, n R.:= R.unsafeGet 32 r, n R.:= R.unsafeGet 33 r, n R.:= R.unsafeGet 34 r, n R.:= R.unsafeGet 35 r, n R.:= R.unsafeGet 36 r, n R.:= R.unsafeGet 37 r, n R.:= R.unsafeGet 38 r, n R.:= R.unsafeGet 39 r, n R.:= R.unsafeGet 40 r, n R.:= R.unsafeGet 41 r, n R.:= R.unsafeGet 42 r)
185+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53', n54' R.:= v54', n55' R.:= v55', n56' R.:= v56', n57' R.:= v57', n58' R.:= v58'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53', n54' R.:= v54', n55' R.:= v55', n56' R.:= v56', n57' R.:= v57', n58' R.:= v58'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', n45 ~ n45', n46 ~ n46', n47 ~ n47', n48 ~ n48', n49 ~ n49', n50 ~ n50', n51 ~ n51', n52 ~ n52', n53 ~ n53', n54 ~ n54', n55 ~ n55', n56 ~ n56', n57 ~ n57', n58 ~ n58', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44', v45 ~ v45', v46 ~ v46', v47 ~ v47', v48 ~ v48', v49 ~ v49', v50 ~ v50', v51 ~ v51', v52 ~ v52', v53 ~ v53', v54 ~ v54', v55 ~ v55', v56 ~ v56', v57 ~ v57', v58 ~ v58') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44, n45 R.:= v45, n46 R.:= v46, n47 R.:= v47, n48 R.:= v48, n49 R.:= v49, n50 R.:= v50, n51 R.:= v51, n52 R.:= v52, n53 R.:= v53, n54 R.:= v54, n55 R.:= v55, n56 R.:= v56, n57 R.:= v57, n58 R.:= v58) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53', n54' R.:= v54', n55' R.:= v55', n56' R.:= v56', n57' R.:= v57', n58' R.:= v58'] where
188−
186+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, f57, f58) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRCons f27 $ R.unsafeRCons f28 $ R.unsafeRCons f29 $ R.unsafeRCons f30 $ R.unsafeRCons f31 $ R.unsafeRCons f32 $ R.unsafeRCons f33 $ R.unsafeRCons f34 $ R.unsafeRCons f35 $ R.unsafeRCons f36 $ R.unsafeRCons f37 $ R.unsafeRCons f38 $ R.unsafeRCons f39 $ R.unsafeRCons f40 $ R.unsafeRCons f41 $ R.unsafeRCons f42 $ R.unsafeRCons f43 $ R.unsafeRCons f44 $ R.unsafeRCons f45 $ R.unsafeRCons f46 $ R.unsafeRCons f47 $ R.unsafeRCons f48 $ R.unsafeRCons f49 $ R.unsafeRCons f50 $ R.unsafeRCons f51 $ R.unsafeRCons f52 $ R.unsafeRCons f53 $ R.unsafeRCons f54 $ R.unsafeRCons f55 $ R.unsafeRCons f56 $ R.unsafeRCons f57 $ R.unsafeRCons f58 $ R.unsafeRNil 58
189−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44'] where
187+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, f57, f58] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, f57, f58)
190− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRCons f27 =<< R.unsafeRCons f28 =<< R.unsafeRCons f29 =<< R.unsafeRCons f30 =<< R.unsafeRCons f31 =<< R.unsafeRCons f32 =<< R.unsafeRCons f33 =<< R.unsafeRCons f34 =<< R.unsafeRCons f35 =<< R.unsafeRCons f36 =<< R.unsafeRCons f37 =<< R.unsafeRCons f38 =<< R.unsafeRCons f39 =<< R.unsafeRCons f40 =<< R.unsafeRCons f41 =<< R.unsafeRCons f42 =<< R.unsafeRCons f43 =<< R.unsafeRCons f44 =<< R.unsafeRNil 44
188+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53', n54' R.:= v54', n55' R.:= v55', n56' R.:= v56', n57' R.:= v57', n58' R.:= v58', n59' R.:= v59'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53', n54' R.:= v54', n55' R.:= v55', n56' R.:= v56', n57' R.:= v57', n58' R.:= v58', n59' R.:= v59'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', n45 ~ n45', n46 ~ n46', n47 ~ n47', n48 ~ n48', n49 ~ n49', n50 ~ n50', n51 ~ n51', n52 ~ n52', n53 ~ n53', n54 ~ n54', n55 ~ n55', n56 ~ n56', n57 ~ n57', n58 ~ n58', n59 ~ n59', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44', v45 ~ v45', v46 ~ v46', v47 ~ v47', v48 ~ v48', v49 ~ v49', v50 ~ v50', v51 ~ v51', v52 ~ v52', v53 ~ v53', v54 ~ v54', v55 ~ v55', v56 ~ v56', v57 ~ v57', v58 ~ v58', v59 ~ v59') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44, n45 R.:= v45, n46 R.:= v46, n47 R.:= v47, n48 R.:= v48, n49 R.:= v49, n50 R.:= v50, n51 R.:= v51, n52 R.:= v52, n53 R.:= v53, n54 R.:= v54, n55 R.:= v55, n56 R.:= v56, n57 R.:= v57, n58 R.:= v58, n59 R.:= v59) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53', n54' R.:= v54', n55' R.:= v55', n56' R.:= v56', n57' R.:= v57', n58' R.:= v58', n59' R.:= v59'] where
191− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r, n R.:= R.unsafeGet 26 r, n R.:= R.unsafeGet 27 r, n R.:= R.unsafeGet 28 r, n R.:= R.unsafeGet 29 r, n R.:= R.unsafeGet 30 r, n R.:= R.unsafeGet 31 r, n R.:= R.unsafeGet 32 r, n R.:= R.unsafeGet 33 r, n R.:= R.unsafeGet 34 r, n R.:= R.unsafeGet 35 r, n R.:= R.unsafeGet 36 r, n R.:= R.unsafeGet 37 r, n R.:= R.unsafeGet 38 r, n R.:= R.unsafeGet 39 r, n R.:= R.unsafeGet 40 r, n R.:= R.unsafeGet 41 r, n R.:= R.unsafeGet 42 r, n R.:= R.unsafeGet 43 r)
189+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, f57, f58, f59) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRCons f27 $ R.unsafeRCons f28 $ R.unsafeRCons f29 $ R.unsafeRCons f30 $ R.unsafeRCons f31 $ R.unsafeRCons f32 $ R.unsafeRCons f33 $ R.unsafeRCons f34 $ R.unsafeRCons f35 $ R.unsafeRCons f36 $ R.unsafeRCons f37 $ R.unsafeRCons f38 $ R.unsafeRCons f39 $ R.unsafeRCons f40 $ R.unsafeRCons f41 $ R.unsafeRCons f42 $ R.unsafeRCons f43 $ R.unsafeRCons f44 $ R.unsafeRCons f45 $ R.unsafeRCons f46 $ R.unsafeRCons f47 $ R.unsafeRCons f48 $ R.unsafeRCons f49 $ R.unsafeRCons f50 $ R.unsafeRCons f51 $ R.unsafeRCons f52 $ R.unsafeRCons f53 $ R.unsafeRCons f54 $ R.unsafeRCons f55 $ R.unsafeRCons f56 $ R.unsafeRCons f57 $ R.unsafeRCons f58 $ R.unsafeRCons f59 $ R.unsafeRNil 59
192−
190+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, f57, f58, f59] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, f57, f58, f59)
193−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', n45 ~ n45', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44', v45 ~ v45') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44, n45 R.:= v45) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45'] where
191+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53', n54' R.:= v54', n55' R.:= v55', n56' R.:= v56', n57' R.:= v57', n58' R.:= v58', n59' R.:= v59', n60' R.:= v60'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53', n54' R.:= v54', n55' R.:= v55', n56' R.:= v56', n57' R.:= v57', n58' R.:= v58', n59' R.:= v59', n60' R.:= v60'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', n45 ~ n45', n46 ~ n46', n47 ~ n47', n48 ~ n48', n49 ~ n49', n50 ~ n50', n51 ~ n51', n52 ~ n52', n53 ~ n53', n54 ~ n54', n55 ~ n55', n56 ~ n56', n57 ~ n57', n58 ~ n58', n59 ~ n59', n60 ~ n60', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44', v45 ~ v45', v46 ~ v46', v47 ~ v47', v48 ~ v48', v49 ~ v49', v50 ~ v50', v51 ~ v51', v52 ~ v52', v53 ~ v53', v54 ~ v54', v55 ~ v55', v56 ~ v56', v57 ~ v57', v58 ~ v58', v59 ~ v59', v60 ~ v60') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44, n45 R.:= v45, n46 R.:= v46, n47 R.:= v47, n48 R.:= v48, n49 R.:= v49, n50 R.:= v50, n51 R.:= v51, n52 R.:= v52, n53 R.:= v53, n54 R.:= v54, n55 R.:= v55, n56 R.:= v56, n57 R.:= v57, n58 R.:= v58, n59 R.:= v59, n60 R.:= v60) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53', n54' R.:= v54', n55' R.:= v55', n56' R.:= v56', n57' R.:= v57', n58' R.:= v58', n59' R.:= v59', n60' R.:= v60'] where
194− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRCons f27 =<< R.unsafeRCons f28 =<< R.unsafeRCons f29 =<< R.unsafeRCons f30 =<< R.unsafeRCons f31 =<< R.unsafeRCons f32 =<< R.unsafeRCons f33 =<< R.unsafeRCons f34 =<< R.unsafeRCons f35 =<< R.unsafeRCons f36 =<< R.unsafeRCons f37 =<< R.unsafeRCons f38 =<< R.unsafeRCons f39 =<< R.unsafeRCons f40 =<< R.unsafeRCons f41 =<< R.unsafeRCons f42 =<< R.unsafeRCons f43 =<< R.unsafeRCons f44 =<< R.unsafeRCons f45 =<< R.unsafeRNil 45
192+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, f57, f58, f59, f60) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRCons f27 $ R.unsafeRCons f28 $ R.unsafeRCons f29 $ R.unsafeRCons f30 $ R.unsafeRCons f31 $ R.unsafeRCons f32 $ R.unsafeRCons f33 $ R.unsafeRCons f34 $ R.unsafeRCons f35 $ R.unsafeRCons f36 $ R.unsafeRCons f37 $ R.unsafeRCons f38 $ R.unsafeRCons f39 $ R.unsafeRCons f40 $ R.unsafeRCons f41 $ R.unsafeRCons f42 $ R.unsafeRCons f43 $ R.unsafeRCons f44 $ R.unsafeRCons f45 $ R.unsafeRCons f46 $ R.unsafeRCons f47 $ R.unsafeRCons f48 $ R.unsafeRCons f49 $ R.unsafeRCons f50 $ R.unsafeRCons f51 $ R.unsafeRCons f52 $ R.unsafeRCons f53 $ R.unsafeRCons f54 $ R.unsafeRCons f55 $ R.unsafeRCons f56 $ R.unsafeRCons f57 $ R.unsafeRCons f58 $ R.unsafeRCons f59 $ R.unsafeRCons f60 $ R.unsafeRNil 60
195− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r, n R.:= R.unsafeGet 26 r, n R.:= R.unsafeGet 27 r, n R.:= R.unsafeGet 28 r, n R.:= R.unsafeGet 29 r, n R.:= R.unsafeGet 30 r, n R.:= R.unsafeGet 31 r, n R.:= R.unsafeGet 32 r, n R.:= R.unsafeGet 33 r, n R.:= R.unsafeGet 34 r, n R.:= R.unsafeGet 35 r, n R.:= R.unsafeGet 36 r, n R.:= R.unsafeGet 37 r, n R.:= R.unsafeGet 38 r, n R.:= R.unsafeGet 39 r, n R.:= R.unsafeGet 40 r, n R.:= R.unsafeGet 41 r, n R.:= R.unsafeGet 42 r, n R.:= R.unsafeGet 43 r, n R.:= R.unsafeGet 44 r)
193+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, f57, f58, f59, f60] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, f57, f58, f59, f60)
196−
194+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53', n54' R.:= v54', n55' R.:= v55', n56' R.:= v56', n57' R.:= v57', n58' R.:= v58', n59' R.:= v59', n60' R.:= v60', n61' R.:= v61'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53', n54' R.:= v54', n55' R.:= v55', n56' R.:= v56', n57' R.:= v57', n58' R.:= v58', n59' R.:= v59', n60' R.:= v60', n61' R.:= v61'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', n45 ~ n45', n46 ~ n46', n47 ~ n47', n48 ~ n48', n49 ~ n49', n50 ~ n50', n51 ~ n51', n52 ~ n52', n53 ~ n53', n54 ~ n54', n55 ~ n55', n56 ~ n56', n57 ~ n57', n58 ~ n58', n59 ~ n59', n60 ~ n60', n61 ~ n61', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44', v45 ~ v45', v46 ~ v46', v47 ~ v47', v48 ~ v48', v49 ~ v49', v50 ~ v50', v51 ~ v51', v52 ~ v52', v53 ~ v53', v54 ~ v54', v55 ~ v55', v56 ~ v56', v57 ~ v57', v58 ~ v58', v59 ~ v59', v60 ~ v60', v61 ~ v61') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44, n45 R.:= v45, n46 R.:= v46, n47 R.:= v47, n48 R.:= v48, n49 R.:= v49, n50 R.:= v50, n51 R.:= v51, n52 R.:= v52, n53 R.:= v53, n54 R.:= v54, n55 R.:= v55, n56 R.:= v56, n57 R.:= v57, n58 R.:= v58, n59 R.:= v59, n60 R.:= v60, n61 R.:= v61) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53', n54' R.:= v54', n55' R.:= v55', n56' R.:= v56', n57' R.:= v57', n58' R.:= v58', n59' R.:= v59', n60' R.:= v60', n61' R.:= v61'] where
197−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', n45 ~ n45', n46 ~ n46', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44', v45 ~ v45', v46 ~ v46') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44, n45 R.:= v45, n46 R.:= v46) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46'] where
195+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, f57, f58, f59, f60, f61) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRCons f27 $ R.unsafeRCons f28 $ R.unsafeRCons f29 $ R.unsafeRCons f30 $ R.unsafeRCons f31 $ R.unsafeRCons f32 $ R.unsafeRCons f33 $ R.unsafeRCons f34 $ R.unsafeRCons f35 $ R.unsafeRCons f36 $ R.unsafeRCons f37 $ R.unsafeRCons f38 $ R.unsafeRCons f39 $ R.unsafeRCons f40 $ R.unsafeRCons f41 $ R.unsafeRCons f42 $ R.unsafeRCons f43 $ R.unsafeRCons f44 $ R.unsafeRCons f45 $ R.unsafeRCons f46 $ R.unsafeRCons f47 $ R.unsafeRCons f48 $ R.unsafeRCons f49 $ R.unsafeRCons f50 $ R.unsafeRCons f51 $ R.unsafeRCons f52 $ R.unsafeRCons f53 $ R.unsafeRCons f54 $ R.unsafeRCons f55 $ R.unsafeRCons f56 $ R.unsafeRCons f57 $ R.unsafeRCons f58 $ R.unsafeRCons f59 $ R.unsafeRCons f60 $ R.unsafeRCons f61 $ R.unsafeRNil 61
198− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRCons f27 =<< R.unsafeRCons f28 =<< R.unsafeRCons f29 =<< R.unsafeRCons f30 =<< R.unsafeRCons f31 =<< R.unsafeRCons f32 =<< R.unsafeRCons f33 =<< R.unsafeRCons f34 =<< R.unsafeRCons f35 =<< R.unsafeRCons f36 =<< R.unsafeRCons f37 =<< R.unsafeRCons f38 =<< R.unsafeRCons f39 =<< R.unsafeRCons f40 =<< R.unsafeRCons f41 =<< R.unsafeRCons f42 =<< R.unsafeRCons f43 =<< R.unsafeRCons f44 =<< R.unsafeRCons f45 =<< R.unsafeRCons f46 =<< R.unsafeRNil 46
196+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, f57, f58, f59, f60, f61] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, f57, f58, f59, f60, f61)
199− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r, n R.:= R.unsafeGet 26 r, n R.:= R.unsafeGet 27 r, n R.:= R.unsafeGet 28 r, n R.:= R.unsafeGet 29 r, n R.:= R.unsafeGet 30 r, n R.:= R.unsafeGet 31 r, n R.:= R.unsafeGet 32 r, n R.:= R.unsafeGet 33 r, n R.:= R.unsafeGet 34 r, n R.:= R.unsafeGet 35 r, n R.:= R.unsafeGet 36 r, n R.:= R.unsafeGet 37 r, n R.:= R.unsafeGet 38 r, n R.:= R.unsafeGet 39 r, n R.:= R.unsafeGet 40 r, n R.:= R.unsafeGet 41 r, n R.:= R.unsafeGet 42 r, n R.:= R.unsafeGet 43 r, n R.:= R.unsafeGet 44 r, n R.:= R.unsafeGet 45 r)
197+instance (R.RecApply '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53', n54' R.:= v54', n55' R.:= v55', n56' R.:= v56', n57' R.:= v57', n58' R.:= v58', n59' R.:= v59', n60' R.:= v60', n61' R.:= v61', n62' R.:= v62'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53', n54' R.:= v54', n55' R.:= v55', n56' R.:= v56', n57' R.:= v57', n58' R.:= v58', n59' R.:= v59', n60' R.:= v60', n61' R.:= v61', n62' R.:= v62'] R.NoConstraint, n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', n45 ~ n45', n46 ~ n46', n47 ~ n47', n48 ~ n48', n49 ~ n49', n50 ~ n50', n51 ~ n51', n52 ~ n52', n53 ~ n53', n54 ~ n54', n55 ~ n55', n56 ~ n56', n57 ~ n57', n58 ~ n58', n59 ~ n59', n60 ~ n60', n61 ~ n61', n62 ~ n62', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44', v45 ~ v45', v46 ~ v46', v47 ~ v47', v48 ~ v48', v49 ~ v49', v50 ~ v50', v51 ~ v51', v52 ~ v52', v53 ~ v53', v54 ~ v54', v55 ~ v55', v56 ~ v56', v57 ~ v57', v58 ~ v58', v59 ~ v59', v60 ~ v60', v61 ~ v61', v62 ~ v62') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44, n45 R.:= v45, n46 R.:= v46, n47 R.:= v47, n48 R.:= v48, n49 R.:= v49, n50 R.:= v50, n51 R.:= v51, n52 R.:= v52, n53 R.:= v53, n54 R.:= v54, n55 R.:= v55, n56 R.:= v56, n57 R.:= v57, n58 R.:= v58, n59 R.:= v59, n60 R.:= v60, n61 R.:= v61, n62 R.:= v62) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53', n54' R.:= v54', n55' R.:= v55', n56' R.:= v56', n57' R.:= v57', n58' R.:= v58', n59' R.:= v59', n60' R.:= v60', n61' R.:= v61', n62' R.:= v62'] where
200−
198+ fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, f57, f58, f59, f60, f61, f62) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRCons f5 $ R.unsafeRCons f6 $ R.unsafeRCons f7 $ R.unsafeRCons f8 $ R.unsafeRCons f9 $ R.unsafeRCons f10 $ R.unsafeRCons f11 $ R.unsafeRCons f12 $ R.unsafeRCons f13 $ R.unsafeRCons f14 $ R.unsafeRCons f15 $ R.unsafeRCons f16 $ R.unsafeRCons f17 $ R.unsafeRCons f18 $ R.unsafeRCons f19 $ R.unsafeRCons f20 $ R.unsafeRCons f21 $ R.unsafeRCons f22 $ R.unsafeRCons f23 $ R.unsafeRCons f24 $ R.unsafeRCons f25 $ R.unsafeRCons f26 $ R.unsafeRCons f27 $ R.unsafeRCons f28 $ R.unsafeRCons f29 $ R.unsafeRCons f30 $ R.unsafeRCons f31 $ R.unsafeRCons f32 $ R.unsafeRCons f33 $ R.unsafeRCons f34 $ R.unsafeRCons f35 $ R.unsafeRCons f36 $ R.unsafeRCons f37 $ R.unsafeRCons f38 $ R.unsafeRCons f39 $ R.unsafeRCons f40 $ R.unsafeRCons f41 $ R.unsafeRCons f42 $ R.unsafeRCons f43 $ R.unsafeRCons f44 $ R.unsafeRCons f45 $ R.unsafeRCons f46 $ R.unsafeRCons f47 $ R.unsafeRCons f48 $ R.unsafeRCons f49 $ R.unsafeRCons f50 $ R.unsafeRCons f51 $ R.unsafeRCons f52 $ R.unsafeRCons f53 $ R.unsafeRCons f54 $ R.unsafeRCons f55 $ R.unsafeRCons f56 $ R.unsafeRCons f57 $ R.unsafeRCons f58 $ R.unsafeRCons f59 $ R.unsafeRCons f60 $ R.unsafeRCons f61 $ R.unsafeRCons f62 $ R.unsafeRNil 62
201−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', n45 ~ n45', n46 ~ n46', n47 ~ n47', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44', v45 ~ v45', v46 ~ v46', v47 ~ v47') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44, n45 R.:= v45, n46 R.:= v46, n47 R.:= v47) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47'] where
199+ toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, f57, f58, f59, f60, f61, f62] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, f57, f58, f59, f60, f61, f62)
202− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRCons f27 =<< R.unsafeRCons f28 =<< R.unsafeRCons f29 =<< R.unsafeRCons f30 =<< R.unsafeRCons f31 =<< R.unsafeRCons f32 =<< R.unsafeRCons f33 =<< R.unsafeRCons f34 =<< R.unsafeRCons f35 =<< R.unsafeRCons f36 =<< R.unsafeRCons f37 =<< R.unsafeRCons f38 =<< R.unsafeRCons f39 =<< R.unsafeRCons f40 =<< R.unsafeRCons f41 =<< R.unsafeRCons f42 =<< R.unsafeRCons f43 =<< R.unsafeRCons f44 =<< R.unsafeRCons f45 =<< R.unsafeRCons f46 =<< R.unsafeRCons f47 =<< R.unsafeRNil 47
203− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r, n R.:= R.unsafeGet 26 r, n R.:= R.unsafeGet 27 r, n R.:= R.unsafeGet 28 r, n R.:= R.unsafeGet 29 r, n R.:= R.unsafeGet 30 r, n R.:= R.unsafeGet 31 r, n R.:= R.unsafeGet 32 r, n R.:= R.unsafeGet 33 r, n R.:= R.unsafeGet 34 r, n R.:= R.unsafeGet 35 r, n R.:= R.unsafeGet 36 r, n R.:= R.unsafeGet 37 r, n R.:= R.unsafeGet 38 r, n R.:= R.unsafeGet 39 r, n R.:= R.unsafeGet 40 r, n R.:= R.unsafeGet 41 r, n R.:= R.unsafeGet 42 r, n R.:= R.unsafeGet 43 r, n R.:= R.unsafeGet 44 r, n R.:= R.unsafeGet 45 r, n R.:= R.unsafeGet 46 r)
204−
205−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', n45 ~ n45', n46 ~ n46', n47 ~ n47', n48 ~ n48', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44', v45 ~ v45', v46 ~ v46', v47 ~ v47', v48 ~ v48') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44, n45 R.:= v45, n46 R.:= v46, n47 R.:= v47, n48 R.:= v48) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48'] where
206− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRCons f27 =<< R.unsafeRCons f28 =<< R.unsafeRCons f29 =<< R.unsafeRCons f30 =<< R.unsafeRCons f31 =<< R.unsafeRCons f32 =<< R.unsafeRCons f33 =<< R.unsafeRCons f34 =<< R.unsafeRCons f35 =<< R.unsafeRCons f36 =<< R.unsafeRCons f37 =<< R.unsafeRCons f38 =<< R.unsafeRCons f39 =<< R.unsafeRCons f40 =<< R.unsafeRCons f41 =<< R.unsafeRCons f42 =<< R.unsafeRCons f43 =<< R.unsafeRCons f44 =<< R.unsafeRCons f45 =<< R.unsafeRCons f46 =<< R.unsafeRCons f47 =<< R.unsafeRCons f48 =<< R.unsafeRNil 48
207− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r, n R.:= R.unsafeGet 26 r, n R.:= R.unsafeGet 27 r, n R.:= R.unsafeGet 28 r, n R.:= R.unsafeGet 29 r, n R.:= R.unsafeGet 30 r, n R.:= R.unsafeGet 31 r, n R.:= R.unsafeGet 32 r, n R.:= R.unsafeGet 33 r, n R.:= R.unsafeGet 34 r, n R.:= R.unsafeGet 35 r, n R.:= R.unsafeGet 36 r, n R.:= R.unsafeGet 37 r, n R.:= R.unsafeGet 38 r, n R.:= R.unsafeGet 39 r, n R.:= R.unsafeGet 40 r, n R.:= R.unsafeGet 41 r, n R.:= R.unsafeGet 42 r, n R.:= R.unsafeGet 43 r, n R.:= R.unsafeGet 44 r, n R.:= R.unsafeGet 45 r, n R.:= R.unsafeGet 46 r, n R.:= R.unsafeGet 47 r)
208−
209−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', n45 ~ n45', n46 ~ n46', n47 ~ n47', n48 ~ n48', n49 ~ n49', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44', v45 ~ v45', v46 ~ v46', v47 ~ v47', v48 ~ v48', v49 ~ v49') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44, n45 R.:= v45, n46 R.:= v46, n47 R.:= v47, n48 R.:= v48, n49 R.:= v49) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49'] where
210− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRCons f27 =<< R.unsafeRCons f28 =<< R.unsafeRCons f29 =<< R.unsafeRCons f30 =<< R.unsafeRCons f31 =<< R.unsafeRCons f32 =<< R.unsafeRCons f33 =<< R.unsafeRCons f34 =<< R.unsafeRCons f35 =<< R.unsafeRCons f36 =<< R.unsafeRCons f37 =<< R.unsafeRCons f38 =<< R.unsafeRCons f39 =<< R.unsafeRCons f40 =<< R.unsafeRCons f41 =<< R.unsafeRCons f42 =<< R.unsafeRCons f43 =<< R.unsafeRCons f44 =<< R.unsafeRCons f45 =<< R.unsafeRCons f46 =<< R.unsafeRCons f47 =<< R.unsafeRCons f48 =<< R.unsafeRCons f49 =<< R.unsafeRNil 49
211− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r, n R.:= R.unsafeGet 26 r, n R.:= R.unsafeGet 27 r, n R.:= R.unsafeGet 28 r, n R.:= R.unsafeGet 29 r, n R.:= R.unsafeGet 30 r, n R.:= R.unsafeGet 31 r, n R.:= R.unsafeGet 32 r, n R.:= R.unsafeGet 33 r, n R.:= R.unsafeGet 34 r, n R.:= R.unsafeGet 35 r, n R.:= R.unsafeGet 36 r, n R.:= R.unsafeGet 37 r, n R.:= R.unsafeGet 38 r, n R.:= R.unsafeGet 39 r, n R.:= R.unsafeGet 40 r, n R.:= R.unsafeGet 41 r, n R.:= R.unsafeGet 42 r, n R.:= R.unsafeGet 43 r, n R.:= R.unsafeGet 44 r, n R.:= R.unsafeGet 45 r, n R.:= R.unsafeGet 46 r, n R.:= R.unsafeGet 47 r, n R.:= R.unsafeGet 48 r)
212−
213−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', n45 ~ n45', n46 ~ n46', n47 ~ n47', n48 ~ n48', n49 ~ n49', n50 ~ n50', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44', v45 ~ v45', v46 ~ v46', v47 ~ v47', v48 ~ v48', v49 ~ v49', v50 ~ v50') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44, n45 R.:= v45, n46 R.:= v46, n47 R.:= v47, n48 R.:= v48, n49 R.:= v49, n50 R.:= v50) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50'] where
214− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRCons f27 =<< R.unsafeRCons f28 =<< R.unsafeRCons f29 =<< R.unsafeRCons f30 =<< R.unsafeRCons f31 =<< R.unsafeRCons f32 =<< R.unsafeRCons f33 =<< R.unsafeRCons f34 =<< R.unsafeRCons f35 =<< R.unsafeRCons f36 =<< R.unsafeRCons f37 =<< R.unsafeRCons f38 =<< R.unsafeRCons f39 =<< R.unsafeRCons f40 =<< R.unsafeRCons f41 =<< R.unsafeRCons f42 =<< R.unsafeRCons f43 =<< R.unsafeRCons f44 =<< R.unsafeRCons f45 =<< R.unsafeRCons f46 =<< R.unsafeRCons f47 =<< R.unsafeRCons f48 =<< R.unsafeRCons f49 =<< R.unsafeRCons f50 =<< R.unsafeRNil 50
215− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r, n R.:= R.unsafeGet 26 r, n R.:= R.unsafeGet 27 r, n R.:= R.unsafeGet 28 r, n R.:= R.unsafeGet 29 r, n R.:= R.unsafeGet 30 r, n R.:= R.unsafeGet 31 r, n R.:= R.unsafeGet 32 r, n R.:= R.unsafeGet 33 r, n R.:= R.unsafeGet 34 r, n R.:= R.unsafeGet 35 r, n R.:= R.unsafeGet 36 r, n R.:= R.unsafeGet 37 r, n R.:= R.unsafeGet 38 r, n R.:= R.unsafeGet 39 r, n R.:= R.unsafeGet 40 r, n R.:= R.unsafeGet 41 r, n R.:= R.unsafeGet 42 r, n R.:= R.unsafeGet 43 r, n R.:= R.unsafeGet 44 r, n R.:= R.unsafeGet 45 r, n R.:= R.unsafeGet 46 r, n R.:= R.unsafeGet 47 r, n R.:= R.unsafeGet 48 r, n R.:= R.unsafeGet 49 r)
216−
217−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', n45 ~ n45', n46 ~ n46', n47 ~ n47', n48 ~ n48', n49 ~ n49', n50 ~ n50', n51 ~ n51', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44', v45 ~ v45', v46 ~ v46', v47 ~ v47', v48 ~ v48', v49 ~ v49', v50 ~ v50', v51 ~ v51') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44, n45 R.:= v45, n46 R.:= v46, n47 R.:= v47, n48 R.:= v48, n49 R.:= v49, n50 R.:= v50, n51 R.:= v51) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51'] where
218− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRCons f27 =<< R.unsafeRCons f28 =<< R.unsafeRCons f29 =<< R.unsafeRCons f30 =<< R.unsafeRCons f31 =<< R.unsafeRCons f32 =<< R.unsafeRCons f33 =<< R.unsafeRCons f34 =<< R.unsafeRCons f35 =<< R.unsafeRCons f36 =<< R.unsafeRCons f37 =<< R.unsafeRCons f38 =<< R.unsafeRCons f39 =<< R.unsafeRCons f40 =<< R.unsafeRCons f41 =<< R.unsafeRCons f42 =<< R.unsafeRCons f43 =<< R.unsafeRCons f44 =<< R.unsafeRCons f45 =<< R.unsafeRCons f46 =<< R.unsafeRCons f47 =<< R.unsafeRCons f48 =<< R.unsafeRCons f49 =<< R.unsafeRCons f50 =<< R.unsafeRCons f51 =<< R.unsafeRNil 51
219− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r, n R.:= R.unsafeGet 26 r, n R.:= R.unsafeGet 27 r, n R.:= R.unsafeGet 28 r, n R.:= R.unsafeGet 29 r, n R.:= R.unsafeGet 30 r, n R.:= R.unsafeGet 31 r, n R.:= R.unsafeGet 32 r, n R.:= R.unsafeGet 33 r, n R.:= R.unsafeGet 34 r, n R.:= R.unsafeGet 35 r, n R.:= R.unsafeGet 36 r, n R.:= R.unsafeGet 37 r, n R.:= R.unsafeGet 38 r, n R.:= R.unsafeGet 39 r, n R.:= R.unsafeGet 40 r, n R.:= R.unsafeGet 41 r, n R.:= R.unsafeGet 42 r, n R.:= R.unsafeGet 43 r, n R.:= R.unsafeGet 44 r, n R.:= R.unsafeGet 45 r, n R.:= R.unsafeGet 46 r, n R.:= R.unsafeGet 47 r, n R.:= R.unsafeGet 48 r, n R.:= R.unsafeGet 49 r, n R.:= R.unsafeGet 50 r)
220−
221−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', n45 ~ n45', n46 ~ n46', n47 ~ n47', n48 ~ n48', n49 ~ n49', n50 ~ n50', n51 ~ n51', n52 ~ n52', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44', v45 ~ v45', v46 ~ v46', v47 ~ v47', v48 ~ v48', v49 ~ v49', v50 ~ v50', v51 ~ v51', v52 ~ v52') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44, n45 R.:= v45, n46 R.:= v46, n47 R.:= v47, n48 R.:= v48, n49 R.:= v49, n50 R.:= v50, n51 R.:= v51, n52 R.:= v52) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52'] where
222− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRCons f27 =<< R.unsafeRCons f28 =<< R.unsafeRCons f29 =<< R.unsafeRCons f30 =<< R.unsafeRCons f31 =<< R.unsafeRCons f32 =<< R.unsafeRCons f33 =<< R.unsafeRCons f34 =<< R.unsafeRCons f35 =<< R.unsafeRCons f36 =<< R.unsafeRCons f37 =<< R.unsafeRCons f38 =<< R.unsafeRCons f39 =<< R.unsafeRCons f40 =<< R.unsafeRCons f41 =<< R.unsafeRCons f42 =<< R.unsafeRCons f43 =<< R.unsafeRCons f44 =<< R.unsafeRCons f45 =<< R.unsafeRCons f46 =<< R.unsafeRCons f47 =<< R.unsafeRCons f48 =<< R.unsafeRCons f49 =<< R.unsafeRCons f50 =<< R.unsafeRCons f51 =<< R.unsafeRCons f52 =<< R.unsafeRNil 52
223− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r, n R.:= R.unsafeGet 26 r, n R.:= R.unsafeGet 27 r, n R.:= R.unsafeGet 28 r, n R.:= R.unsafeGet 29 r, n R.:= R.unsafeGet 30 r, n R.:= R.unsafeGet 31 r, n R.:= R.unsafeGet 32 r, n R.:= R.unsafeGet 33 r, n R.:= R.unsafeGet 34 r, n R.:= R.unsafeGet 35 r, n R.:= R.unsafeGet 36 r, n R.:= R.unsafeGet 37 r, n R.:= R.unsafeGet 38 r, n R.:= R.unsafeGet 39 r, n R.:= R.unsafeGet 40 r, n R.:= R.unsafeGet 41 r, n R.:= R.unsafeGet 42 r, n R.:= R.unsafeGet 43 r, n R.:= R.unsafeGet 44 r, n R.:= R.unsafeGet 45 r, n R.:= R.unsafeGet 46 r, n R.:= R.unsafeGet 47 r, n R.:= R.unsafeGet 48 r, n R.:= R.unsafeGet 49 r, n R.:= R.unsafeGet 50 r, n R.:= R.unsafeGet 51 r)
224−
225−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', n45 ~ n45', n46 ~ n46', n47 ~ n47', n48 ~ n48', n49 ~ n49', n50 ~ n50', n51 ~ n51', n52 ~ n52', n53 ~ n53', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44', v45 ~ v45', v46 ~ v46', v47 ~ v47', v48 ~ v48', v49 ~ v49', v50 ~ v50', v51 ~ v51', v52 ~ v52', v53 ~ v53') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44, n45 R.:= v45, n46 R.:= v46, n47 R.:= v47, n48 R.:= v48, n49 R.:= v49, n50 R.:= v50, n51 R.:= v51, n52 R.:= v52, n53 R.:= v53) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53'] where
226− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRCons f27 =<< R.unsafeRCons f28 =<< R.unsafeRCons f29 =<< R.unsafeRCons f30 =<< R.unsafeRCons f31 =<< R.unsafeRCons f32 =<< R.unsafeRCons f33 =<< R.unsafeRCons f34 =<< R.unsafeRCons f35 =<< R.unsafeRCons f36 =<< R.unsafeRCons f37 =<< R.unsafeRCons f38 =<< R.unsafeRCons f39 =<< R.unsafeRCons f40 =<< R.unsafeRCons f41 =<< R.unsafeRCons f42 =<< R.unsafeRCons f43 =<< R.unsafeRCons f44 =<< R.unsafeRCons f45 =<< R.unsafeRCons f46 =<< R.unsafeRCons f47 =<< R.unsafeRCons f48 =<< R.unsafeRCons f49 =<< R.unsafeRCons f50 =<< R.unsafeRCons f51 =<< R.unsafeRCons f52 =<< R.unsafeRCons f53 =<< R.unsafeRNil 53
227− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r, n R.:= R.unsafeGet 26 r, n R.:= R.unsafeGet 27 r, n R.:= R.unsafeGet 28 r, n R.:= R.unsafeGet 29 r, n R.:= R.unsafeGet 30 r, n R.:= R.unsafeGet 31 r, n R.:= R.unsafeGet 32 r, n R.:= R.unsafeGet 33 r, n R.:= R.unsafeGet 34 r, n R.:= R.unsafeGet 35 r, n R.:= R.unsafeGet 36 r, n R.:= R.unsafeGet 37 r, n R.:= R.unsafeGet 38 r, n R.:= R.unsafeGet 39 r, n R.:= R.unsafeGet 40 r, n R.:= R.unsafeGet 41 r, n R.:= R.unsafeGet 42 r, n R.:= R.unsafeGet 43 r, n R.:= R.unsafeGet 44 r, n R.:= R.unsafeGet 45 r, n R.:= R.unsafeGet 46 r, n R.:= R.unsafeGet 47 r, n R.:= R.unsafeGet 48 r, n R.:= R.unsafeGet 49 r, n R.:= R.unsafeGet 50 r, n R.:= R.unsafeGet 51 r, n R.:= R.unsafeGet 52 r)
228−
229−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', n45 ~ n45', n46 ~ n46', n47 ~ n47', n48 ~ n48', n49 ~ n49', n50 ~ n50', n51 ~ n51', n52 ~ n52', n53 ~ n53', n54 ~ n54', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44', v45 ~ v45', v46 ~ v46', v47 ~ v47', v48 ~ v48', v49 ~ v49', v50 ~ v50', v51 ~ v51', v52 ~ v52', v53 ~ v53', v54 ~ v54') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44, n45 R.:= v45, n46 R.:= v46, n47 R.:= v47, n48 R.:= v48, n49 R.:= v49, n50 R.:= v50, n51 R.:= v51, n52 R.:= v52, n53 R.:= v53, n54 R.:= v54) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53', n54' R.:= v54'] where
230− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRCons f27 =<< R.unsafeRCons f28 =<< R.unsafeRCons f29 =<< R.unsafeRCons f30 =<< R.unsafeRCons f31 =<< R.unsafeRCons f32 =<< R.unsafeRCons f33 =<< R.unsafeRCons f34 =<< R.unsafeRCons f35 =<< R.unsafeRCons f36 =<< R.unsafeRCons f37 =<< R.unsafeRCons f38 =<< R.unsafeRCons f39 =<< R.unsafeRCons f40 =<< R.unsafeRCons f41 =<< R.unsafeRCons f42 =<< R.unsafeRCons f43 =<< R.unsafeRCons f44 =<< R.unsafeRCons f45 =<< R.unsafeRCons f46 =<< R.unsafeRCons f47 =<< R.unsafeRCons f48 =<< R.unsafeRCons f49 =<< R.unsafeRCons f50 =<< R.unsafeRCons f51 =<< R.unsafeRCons f52 =<< R.unsafeRCons f53 =<< R.unsafeRCons f54 =<< R.unsafeRNil 54
231− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r, n R.:= R.unsafeGet 26 r, n R.:= R.unsafeGet 27 r, n R.:= R.unsafeGet 28 r, n R.:= R.unsafeGet 29 r, n R.:= R.unsafeGet 30 r, n R.:= R.unsafeGet 31 r, n R.:= R.unsafeGet 32 r, n R.:= R.unsafeGet 33 r, n R.:= R.unsafeGet 34 r, n R.:= R.unsafeGet 35 r, n R.:= R.unsafeGet 36 r, n R.:= R.unsafeGet 37 r, n R.:= R.unsafeGet 38 r, n R.:= R.unsafeGet 39 r, n R.:= R.unsafeGet 40 r, n R.:= R.unsafeGet 41 r, n R.:= R.unsafeGet 42 r, n R.:= R.unsafeGet 43 r, n R.:= R.unsafeGet 44 r, n R.:= R.unsafeGet 45 r, n R.:= R.unsafeGet 46 r, n R.:= R.unsafeGet 47 r, n R.:= R.unsafeGet 48 r, n R.:= R.unsafeGet 49 r, n R.:= R.unsafeGet 50 r, n R.:= R.unsafeGet 51 r, n R.:= R.unsafeGet 52 r, n R.:= R.unsafeGet 53 r)
232−
233−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', n45 ~ n45', n46 ~ n46', n47 ~ n47', n48 ~ n48', n49 ~ n49', n50 ~ n50', n51 ~ n51', n52 ~ n52', n53 ~ n53', n54 ~ n54', n55 ~ n55', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44', v45 ~ v45', v46 ~ v46', v47 ~ v47', v48 ~ v48', v49 ~ v49', v50 ~ v50', v51 ~ v51', v52 ~ v52', v53 ~ v53', v54 ~ v54', v55 ~ v55') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44, n45 R.:= v45, n46 R.:= v46, n47 R.:= v47, n48 R.:= v48, n49 R.:= v49, n50 R.:= v50, n51 R.:= v51, n52 R.:= v52, n53 R.:= v53, n54 R.:= v54, n55 R.:= v55) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53', n54' R.:= v54', n55' R.:= v55'] where
234− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54, f55) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRCons f27 =<< R.unsafeRCons f28 =<< R.unsafeRCons f29 =<< R.unsafeRCons f30 =<< R.unsafeRCons f31 =<< R.unsafeRCons f32 =<< R.unsafeRCons f33 =<< R.unsafeRCons f34 =<< R.unsafeRCons f35 =<< R.unsafeRCons f36 =<< R.unsafeRCons f37 =<< R.unsafeRCons f38 =<< R.unsafeRCons f39 =<< R.unsafeRCons f40 =<< R.unsafeRCons f41 =<< R.unsafeRCons f42 =<< R.unsafeRCons f43 =<< R.unsafeRCons f44 =<< R.unsafeRCons f45 =<< R.unsafeRCons f46 =<< R.unsafeRCons f47 =<< R.unsafeRCons f48 =<< R.unsafeRCons f49 =<< R.unsafeRCons f50 =<< R.unsafeRCons f51 =<< R.unsafeRCons f52 =<< R.unsafeRCons f53 =<< R.unsafeRCons f54 =<< R.unsafeRCons f55 =<< R.unsafeRNil 55
235− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r, n R.:= R.unsafeGet 26 r, n R.:= R.unsafeGet 27 r, n R.:= R.unsafeGet 28 r, n R.:= R.unsafeGet 29 r, n R.:= R.unsafeGet 30 r, n R.:= R.unsafeGet 31 r, n R.:= R.unsafeGet 32 r, n R.:= R.unsafeGet 33 r, n R.:= R.unsafeGet 34 r, n R.:= R.unsafeGet 35 r, n R.:= R.unsafeGet 36 r, n R.:= R.unsafeGet 37 r, n R.:= R.unsafeGet 38 r, n R.:= R.unsafeGet 39 r, n R.:= R.unsafeGet 40 r, n R.:= R.unsafeGet 41 r, n R.:= R.unsafeGet 42 r, n R.:= R.unsafeGet 43 r, n R.:= R.unsafeGet 44 r, n R.:= R.unsafeGet 45 r, n R.:= R.unsafeGet 46 r, n R.:= R.unsafeGet 47 r, n R.:= R.unsafeGet 48 r, n R.:= R.unsafeGet 49 r, n R.:= R.unsafeGet 50 r, n R.:= R.unsafeGet 51 r, n R.:= R.unsafeGet 52 r, n R.:= R.unsafeGet 53 r, n R.:= R.unsafeGet 54 r)
236−
237−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', n45 ~ n45', n46 ~ n46', n47 ~ n47', n48 ~ n48', n49 ~ n49', n50 ~ n50', n51 ~ n51', n52 ~ n52', n53 ~ n53', n54 ~ n54', n55 ~ n55', n56 ~ n56', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44', v45 ~ v45', v46 ~ v46', v47 ~ v47', v48 ~ v48', v49 ~ v49', v50 ~ v50', v51 ~ v51', v52 ~ v52', v53 ~ v53', v54 ~ v54', v55 ~ v55', v56 ~ v56') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44, n45 R.:= v45, n46 R.:= v46, n47 R.:= v47, n48 R.:= v48, n49 R.:= v49, n50 R.:= v50, n51 R.:= v51, n52 R.:= v52, n53 R.:= v53, n54 R.:= v54, n55 R.:= v55, n56 R.:= v56) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53', n54' R.:= v54', n55' R.:= v55', n56' R.:= v56'] where
238− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRCons f27 =<< R.unsafeRCons f28 =<< R.unsafeRCons f29 =<< R.unsafeRCons f30 =<< R.unsafeRCons f31 =<< R.unsafeRCons f32 =<< R.unsafeRCons f33 =<< R.unsafeRCons f34 =<< R.unsafeRCons f35 =<< R.unsafeRCons f36 =<< R.unsafeRCons f37 =<< R.unsafeRCons f38 =<< R.unsafeRCons f39 =<< R.unsafeRCons f40 =<< R.unsafeRCons f41 =<< R.unsafeRCons f42 =<< R.unsafeRCons f43 =<< R.unsafeRCons f44 =<< R.unsafeRCons f45 =<< R.unsafeRCons f46 =<< R.unsafeRCons f47 =<< R.unsafeRCons f48 =<< R.unsafeRCons f49 =<< R.unsafeRCons f50 =<< R.unsafeRCons f51 =<< R.unsafeRCons f52 =<< R.unsafeRCons f53 =<< R.unsafeRCons f54 =<< R.unsafeRCons f55 =<< R.unsafeRCons f56 =<< R.unsafeRNil 56
239− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r, n R.:= R.unsafeGet 26 r, n R.:= R.unsafeGet 27 r, n R.:= R.unsafeGet 28 r, n R.:= R.unsafeGet 29 r, n R.:= R.unsafeGet 30 r, n R.:= R.unsafeGet 31 r, n R.:= R.unsafeGet 32 r, n R.:= R.unsafeGet 33 r, n R.:= R.unsafeGet 34 r, n R.:= R.unsafeGet 35 r, n R.:= R.unsafeGet 36 r, n R.:= R.unsafeGet 37 r, n R.:= R.unsafeGet 38 r, n R.:= R.unsafeGet 39 r, n R.:= R.unsafeGet 40 r, n R.:= R.unsafeGet 41 r, n R.:= R.unsafeGet 42 r, n R.:= R.unsafeGet 43 r, n R.:= R.unsafeGet 44 r, n R.:= R.unsafeGet 45 r, n R.:= R.unsafeGet 46 r, n R.:= R.unsafeGet 47 r, n R.:= R.unsafeGet 48 r, n R.:= R.unsafeGet 49 r, n R.:= R.unsafeGet 50 r, n R.:= R.unsafeGet 51 r, n R.:= R.unsafeGet 52 r, n R.:= R.unsafeGet 53 r, n R.:= R.unsafeGet 54 r, n R.:= R.unsafeGet 55 r)
240−
241−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', n45 ~ n45', n46 ~ n46', n47 ~ n47', n48 ~ n48', n49 ~ n49', n50 ~ n50', n51 ~ n51', n52 ~ n52', n53 ~ n53', n54 ~ n54', n55 ~ n55', n56 ~ n56', n57 ~ n57', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44', v45 ~ v45', v46 ~ v46', v47 ~ v47', v48 ~ v48', v49 ~ v49', v50 ~ v50', v51 ~ v51', v52 ~ v52', v53 ~ v53', v54 ~ v54', v55 ~ v55', v56 ~ v56', v57 ~ v57') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44, n45 R.:= v45, n46 R.:= v46, n47 R.:= v47, n48 R.:= v48, n49 R.:= v49, n50 R.:= v50, n51 R.:= v51, n52 R.:= v52, n53 R.:= v53, n54 R.:= v54, n55 R.:= v55, n56 R.:= v56, n57 R.:= v57) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53', n54' R.:= v54', n55' R.:= v55', n56' R.:= v56', n57' R.:= v57'] where
242− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, f57) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRCons f27 =<< R.unsafeRCons f28 =<< R.unsafeRCons f29 =<< R.unsafeRCons f30 =<< R.unsafeRCons f31 =<< R.unsafeRCons f32 =<< R.unsafeRCons f33 =<< R.unsafeRCons f34 =<< R.unsafeRCons f35 =<< R.unsafeRCons f36 =<< R.unsafeRCons f37 =<< R.unsafeRCons f38 =<< R.unsafeRCons f39 =<< R.unsafeRCons f40 =<< R.unsafeRCons f41 =<< R.unsafeRCons f42 =<< R.unsafeRCons f43 =<< R.unsafeRCons f44 =<< R.unsafeRCons f45 =<< R.unsafeRCons f46 =<< R.unsafeRCons f47 =<< R.unsafeRCons f48 =<< R.unsafeRCons f49 =<< R.unsafeRCons f50 =<< R.unsafeRCons f51 =<< R.unsafeRCons f52 =<< R.unsafeRCons f53 =<< R.unsafeRCons f54 =<< R.unsafeRCons f55 =<< R.unsafeRCons f56 =<< R.unsafeRCons f57 =<< R.unsafeRNil 57
243− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r, n R.:= R.unsafeGet 26 r, n R.:= R.unsafeGet 27 r, n R.:= R.unsafeGet 28 r, n R.:= R.unsafeGet 29 r, n R.:= R.unsafeGet 30 r, n R.:= R.unsafeGet 31 r, n R.:= R.unsafeGet 32 r, n R.:= R.unsafeGet 33 r, n R.:= R.unsafeGet 34 r, n R.:= R.unsafeGet 35 r, n R.:= R.unsafeGet 36 r, n R.:= R.unsafeGet 37 r, n R.:= R.unsafeGet 38 r, n R.:= R.unsafeGet 39 r, n R.:= R.unsafeGet 40 r, n R.:= R.unsafeGet 41 r, n R.:= R.unsafeGet 42 r, n R.:= R.unsafeGet 43 r, n R.:= R.unsafeGet 44 r, n R.:= R.unsafeGet 45 r, n R.:= R.unsafeGet 46 r, n R.:= R.unsafeGet 47 r, n R.:= R.unsafeGet 48 r, n R.:= R.unsafeGet 49 r, n R.:= R.unsafeGet 50 r, n R.:= R.unsafeGet 51 r, n R.:= R.unsafeGet 52 r, n R.:= R.unsafeGet 53 r, n R.:= R.unsafeGet 54 r, n R.:= R.unsafeGet 55 r, n R.:= R.unsafeGet 56 r)
244−
245−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', n45 ~ n45', n46 ~ n46', n47 ~ n47', n48 ~ n48', n49 ~ n49', n50 ~ n50', n51 ~ n51', n52 ~ n52', n53 ~ n53', n54 ~ n54', n55 ~ n55', n56 ~ n56', n57 ~ n57', n58 ~ n58', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44', v45 ~ v45', v46 ~ v46', v47 ~ v47', v48 ~ v48', v49 ~ v49', v50 ~ v50', v51 ~ v51', v52 ~ v52', v53 ~ v53', v54 ~ v54', v55 ~ v55', v56 ~ v56', v57 ~ v57', v58 ~ v58') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44, n45 R.:= v45, n46 R.:= v46, n47 R.:= v47, n48 R.:= v48, n49 R.:= v49, n50 R.:= v50, n51 R.:= v51, n52 R.:= v52, n53 R.:= v53, n54 R.:= v54, n55 R.:= v55, n56 R.:= v56, n57 R.:= v57, n58 R.:= v58) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53', n54' R.:= v54', n55' R.:= v55', n56' R.:= v56', n57' R.:= v57', n58' R.:= v58'] where
246− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, f57, f58) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRCons f27 =<< R.unsafeRCons f28 =<< R.unsafeRCons f29 =<< R.unsafeRCons f30 =<< R.unsafeRCons f31 =<< R.unsafeRCons f32 =<< R.unsafeRCons f33 =<< R.unsafeRCons f34 =<< R.unsafeRCons f35 =<< R.unsafeRCons f36 =<< R.unsafeRCons f37 =<< R.unsafeRCons f38 =<< R.unsafeRCons f39 =<< R.unsafeRCons f40 =<< R.unsafeRCons f41 =<< R.unsafeRCons f42 =<< R.unsafeRCons f43 =<< R.unsafeRCons f44 =<< R.unsafeRCons f45 =<< R.unsafeRCons f46 =<< R.unsafeRCons f47 =<< R.unsafeRCons f48 =<< R.unsafeRCons f49 =<< R.unsafeRCons f50 =<< R.unsafeRCons f51 =<< R.unsafeRCons f52 =<< R.unsafeRCons f53 =<< R.unsafeRCons f54 =<< R.unsafeRCons f55 =<< R.unsafeRCons f56 =<< R.unsafeRCons f57 =<< R.unsafeRCons f58 =<< R.unsafeRNil 58
247− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r, n R.:= R.unsafeGet 26 r, n R.:= R.unsafeGet 27 r, n R.:= R.unsafeGet 28 r, n R.:= R.unsafeGet 29 r, n R.:= R.unsafeGet 30 r, n R.:= R.unsafeGet 31 r, n R.:= R.unsafeGet 32 r, n R.:= R.unsafeGet 33 r, n R.:= R.unsafeGet 34 r, n R.:= R.unsafeGet 35 r, n R.:= R.unsafeGet 36 r, n R.:= R.unsafeGet 37 r, n R.:= R.unsafeGet 38 r, n R.:= R.unsafeGet 39 r, n R.:= R.unsafeGet 40 r, n R.:= R.unsafeGet 41 r, n R.:= R.unsafeGet 42 r, n R.:= R.unsafeGet 43 r, n R.:= R.unsafeGet 44 r, n R.:= R.unsafeGet 45 r, n R.:= R.unsafeGet 46 r, n R.:= R.unsafeGet 47 r, n R.:= R.unsafeGet 48 r, n R.:= R.unsafeGet 49 r, n R.:= R.unsafeGet 50 r, n R.:= R.unsafeGet 51 r, n R.:= R.unsafeGet 52 r, n R.:= R.unsafeGet 53 r, n R.:= R.unsafeGet 54 r, n R.:= R.unsafeGet 55 r, n R.:= R.unsafeGet 56 r, n R.:= R.unsafeGet 57 r)
248−
249−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', n45 ~ n45', n46 ~ n46', n47 ~ n47', n48 ~ n48', n49 ~ n49', n50 ~ n50', n51 ~ n51', n52 ~ n52', n53 ~ n53', n54 ~ n54', n55 ~ n55', n56 ~ n56', n57 ~ n57', n58 ~ n58', n59 ~ n59', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44', v45 ~ v45', v46 ~ v46', v47 ~ v47', v48 ~ v48', v49 ~ v49', v50 ~ v50', v51 ~ v51', v52 ~ v52', v53 ~ v53', v54 ~ v54', v55 ~ v55', v56 ~ v56', v57 ~ v57', v58 ~ v58', v59 ~ v59') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44, n45 R.:= v45, n46 R.:= v46, n47 R.:= v47, n48 R.:= v48, n49 R.:= v49, n50 R.:= v50, n51 R.:= v51, n52 R.:= v52, n53 R.:= v53, n54 R.:= v54, n55 R.:= v55, n56 R.:= v56, n57 R.:= v57, n58 R.:= v58, n59 R.:= v59) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53', n54' R.:= v54', n55' R.:= v55', n56' R.:= v56', n57' R.:= v57', n58' R.:= v58', n59' R.:= v59'] where
250− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, f57, f58, f59) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRCons f27 =<< R.unsafeRCons f28 =<< R.unsafeRCons f29 =<< R.unsafeRCons f30 =<< R.unsafeRCons f31 =<< R.unsafeRCons f32 =<< R.unsafeRCons f33 =<< R.unsafeRCons f34 =<< R.unsafeRCons f35 =<< R.unsafeRCons f36 =<< R.unsafeRCons f37 =<< R.unsafeRCons f38 =<< R.unsafeRCons f39 =<< R.unsafeRCons f40 =<< R.unsafeRCons f41 =<< R.unsafeRCons f42 =<< R.unsafeRCons f43 =<< R.unsafeRCons f44 =<< R.unsafeRCons f45 =<< R.unsafeRCons f46 =<< R.unsafeRCons f47 =<< R.unsafeRCons f48 =<< R.unsafeRCons f49 =<< R.unsafeRCons f50 =<< R.unsafeRCons f51 =<< R.unsafeRCons f52 =<< R.unsafeRCons f53 =<< R.unsafeRCons f54 =<< R.unsafeRCons f55 =<< R.unsafeRCons f56 =<< R.unsafeRCons f57 =<< R.unsafeRCons f58 =<< R.unsafeRCons f59 =<< R.unsafeRNil 59
251− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r, n R.:= R.unsafeGet 26 r, n R.:= R.unsafeGet 27 r, n R.:= R.unsafeGet 28 r, n R.:= R.unsafeGet 29 r, n R.:= R.unsafeGet 30 r, n R.:= R.unsafeGet 31 r, n R.:= R.unsafeGet 32 r, n R.:= R.unsafeGet 33 r, n R.:= R.unsafeGet 34 r, n R.:= R.unsafeGet 35 r, n R.:= R.unsafeGet 36 r, n R.:= R.unsafeGet 37 r, n R.:= R.unsafeGet 38 r, n R.:= R.unsafeGet 39 r, n R.:= R.unsafeGet 40 r, n R.:= R.unsafeGet 41 r, n R.:= R.unsafeGet 42 r, n R.:= R.unsafeGet 43 r, n R.:= R.unsafeGet 44 r, n R.:= R.unsafeGet 45 r, n R.:= R.unsafeGet 46 r, n R.:= R.unsafeGet 47 r, n R.:= R.unsafeGet 48 r, n R.:= R.unsafeGet 49 r, n R.:= R.unsafeGet 50 r, n R.:= R.unsafeGet 51 r, n R.:= R.unsafeGet 52 r, n R.:= R.unsafeGet 53 r, n R.:= R.unsafeGet 54 r, n R.:= R.unsafeGet 55 r, n R.:= R.unsafeGet 56 r, n R.:= R.unsafeGet 57 r, n R.:= R.unsafeGet 58 r)
252−
253−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', n45 ~ n45', n46 ~ n46', n47 ~ n47', n48 ~ n48', n49 ~ n49', n50 ~ n50', n51 ~ n51', n52 ~ n52', n53 ~ n53', n54 ~ n54', n55 ~ n55', n56 ~ n56', n57 ~ n57', n58 ~ n58', n59 ~ n59', n60 ~ n60', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44', v45 ~ v45', v46 ~ v46', v47 ~ v47', v48 ~ v48', v49 ~ v49', v50 ~ v50', v51 ~ v51', v52 ~ v52', v53 ~ v53', v54 ~ v54', v55 ~ v55', v56 ~ v56', v57 ~ v57', v58 ~ v58', v59 ~ v59', v60 ~ v60') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44, n45 R.:= v45, n46 R.:= v46, n47 R.:= v47, n48 R.:= v48, n49 R.:= v49, n50 R.:= v50, n51 R.:= v51, n52 R.:= v52, n53 R.:= v53, n54 R.:= v54, n55 R.:= v55, n56 R.:= v56, n57 R.:= v57, n58 R.:= v58, n59 R.:= v59, n60 R.:= v60) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53', n54' R.:= v54', n55' R.:= v55', n56' R.:= v56', n57' R.:= v57', n58' R.:= v58', n59' R.:= v59', n60' R.:= v60'] where
254− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, f57, f58, f59, f60) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRCons f27 =<< R.unsafeRCons f28 =<< R.unsafeRCons f29 =<< R.unsafeRCons f30 =<< R.unsafeRCons f31 =<< R.unsafeRCons f32 =<< R.unsafeRCons f33 =<< R.unsafeRCons f34 =<< R.unsafeRCons f35 =<< R.unsafeRCons f36 =<< R.unsafeRCons f37 =<< R.unsafeRCons f38 =<< R.unsafeRCons f39 =<< R.unsafeRCons f40 =<< R.unsafeRCons f41 =<< R.unsafeRCons f42 =<< R.unsafeRCons f43 =<< R.unsafeRCons f44 =<< R.unsafeRCons f45 =<< R.unsafeRCons f46 =<< R.unsafeRCons f47 =<< R.unsafeRCons f48 =<< R.unsafeRCons f49 =<< R.unsafeRCons f50 =<< R.unsafeRCons f51 =<< R.unsafeRCons f52 =<< R.unsafeRCons f53 =<< R.unsafeRCons f54 =<< R.unsafeRCons f55 =<< R.unsafeRCons f56 =<< R.unsafeRCons f57 =<< R.unsafeRCons f58 =<< R.unsafeRCons f59 =<< R.unsafeRCons f60 =<< R.unsafeRNil 60
255− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r, n R.:= R.unsafeGet 26 r, n R.:= R.unsafeGet 27 r, n R.:= R.unsafeGet 28 r, n R.:= R.unsafeGet 29 r, n R.:= R.unsafeGet 30 r, n R.:= R.unsafeGet 31 r, n R.:= R.unsafeGet 32 r, n R.:= R.unsafeGet 33 r, n R.:= R.unsafeGet 34 r, n R.:= R.unsafeGet 35 r, n R.:= R.unsafeGet 36 r, n R.:= R.unsafeGet 37 r, n R.:= R.unsafeGet 38 r, n R.:= R.unsafeGet 39 r, n R.:= R.unsafeGet 40 r, n R.:= R.unsafeGet 41 r, n R.:= R.unsafeGet 42 r, n R.:= R.unsafeGet 43 r, n R.:= R.unsafeGet 44 r, n R.:= R.unsafeGet 45 r, n R.:= R.unsafeGet 46 r, n R.:= R.unsafeGet 47 r, n R.:= R.unsafeGet 48 r, n R.:= R.unsafeGet 49 r, n R.:= R.unsafeGet 50 r, n R.:= R.unsafeGet 51 r, n R.:= R.unsafeGet 52 r, n R.:= R.unsafeGet 53 r, n R.:= R.unsafeGet 54 r, n R.:= R.unsafeGet 55 r, n R.:= R.unsafeGet 56 r, n R.:= R.unsafeGet 57 r, n R.:= R.unsafeGet 58 r, n R.:= R.unsafeGet 59 r)
256−
257−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', n45 ~ n45', n46 ~ n46', n47 ~ n47', n48 ~ n48', n49 ~ n49', n50 ~ n50', n51 ~ n51', n52 ~ n52', n53 ~ n53', n54 ~ n54', n55 ~ n55', n56 ~ n56', n57 ~ n57', n58 ~ n58', n59 ~ n59', n60 ~ n60', n61 ~ n61', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44', v45 ~ v45', v46 ~ v46', v47 ~ v47', v48 ~ v48', v49 ~ v49', v50 ~ v50', v51 ~ v51', v52 ~ v52', v53 ~ v53', v54 ~ v54', v55 ~ v55', v56 ~ v56', v57 ~ v57', v58 ~ v58', v59 ~ v59', v60 ~ v60', v61 ~ v61') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44, n45 R.:= v45, n46 R.:= v46, n47 R.:= v47, n48 R.:= v48, n49 R.:= v49, n50 R.:= v50, n51 R.:= v51, n52 R.:= v52, n53 R.:= v53, n54 R.:= v54, n55 R.:= v55, n56 R.:= v56, n57 R.:= v57, n58 R.:= v58, n59 R.:= v59, n60 R.:= v60, n61 R.:= v61) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53', n54' R.:= v54', n55' R.:= v55', n56' R.:= v56', n57' R.:= v57', n58' R.:= v58', n59' R.:= v59', n60' R.:= v60', n61' R.:= v61'] where
258− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, f57, f58, f59, f60, f61) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRCons f27 =<< R.unsafeRCons f28 =<< R.unsafeRCons f29 =<< R.unsafeRCons f30 =<< R.unsafeRCons f31 =<< R.unsafeRCons f32 =<< R.unsafeRCons f33 =<< R.unsafeRCons f34 =<< R.unsafeRCons f35 =<< R.unsafeRCons f36 =<< R.unsafeRCons f37 =<< R.unsafeRCons f38 =<< R.unsafeRCons f39 =<< R.unsafeRCons f40 =<< R.unsafeRCons f41 =<< R.unsafeRCons f42 =<< R.unsafeRCons f43 =<< R.unsafeRCons f44 =<< R.unsafeRCons f45 =<< R.unsafeRCons f46 =<< R.unsafeRCons f47 =<< R.unsafeRCons f48 =<< R.unsafeRCons f49 =<< R.unsafeRCons f50 =<< R.unsafeRCons f51 =<< R.unsafeRCons f52 =<< R.unsafeRCons f53 =<< R.unsafeRCons f54 =<< R.unsafeRCons f55 =<< R.unsafeRCons f56 =<< R.unsafeRCons f57 =<< R.unsafeRCons f58 =<< R.unsafeRCons f59 =<< R.unsafeRCons f60 =<< R.unsafeRCons f61 =<< R.unsafeRNil 61
259− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r, n R.:= R.unsafeGet 26 r, n R.:= R.unsafeGet 27 r, n R.:= R.unsafeGet 28 r, n R.:= R.unsafeGet 29 r, n R.:= R.unsafeGet 30 r, n R.:= R.unsafeGet 31 r, n R.:= R.unsafeGet 32 r, n R.:= R.unsafeGet 33 r, n R.:= R.unsafeGet 34 r, n R.:= R.unsafeGet 35 r, n R.:= R.unsafeGet 36 r, n R.:= R.unsafeGet 37 r, n R.:= R.unsafeGet 38 r, n R.:= R.unsafeGet 39 r, n R.:= R.unsafeGet 40 r, n R.:= R.unsafeGet 41 r, n R.:= R.unsafeGet 42 r, n R.:= R.unsafeGet 43 r, n R.:= R.unsafeGet 44 r, n R.:= R.unsafeGet 45 r, n R.:= R.unsafeGet 46 r, n R.:= R.unsafeGet 47 r, n R.:= R.unsafeGet 48 r, n R.:= R.unsafeGet 49 r, n R.:= R.unsafeGet 50 r, n R.:= R.unsafeGet 51 r, n R.:= R.unsafeGet 52 r, n R.:= R.unsafeGet 53 r, n R.:= R.unsafeGet 54 r, n R.:= R.unsafeGet 55 r, n R.:= R.unsafeGet 56 r, n R.:= R.unsafeGet 57 r, n R.:= R.unsafeGet 58 r, n R.:= R.unsafeGet 59 r, n R.:= R.unsafeGet 60 r)
260−
261−instance (n1 ~ n1', n2 ~ n2', n3 ~ n3', n4 ~ n4', n5 ~ n5', n6 ~ n6', n7 ~ n7', n8 ~ n8', n9 ~ n9', n10 ~ n10', n11 ~ n11', n12 ~ n12', n13 ~ n13', n14 ~ n14', n15 ~ n15', n16 ~ n16', n17 ~ n17', n18 ~ n18', n19 ~ n19', n20 ~ n20', n21 ~ n21', n22 ~ n22', n23 ~ n23', n24 ~ n24', n25 ~ n25', n26 ~ n26', n27 ~ n27', n28 ~ n28', n29 ~ n29', n30 ~ n30', n31 ~ n31', n32 ~ n32', n33 ~ n33', n34 ~ n34', n35 ~ n35', n36 ~ n36', n37 ~ n37', n38 ~ n38', n39 ~ n39', n40 ~ n40', n41 ~ n41', n42 ~ n42', n43 ~ n43', n44 ~ n44', n45 ~ n45', n46 ~ n46', n47 ~ n47', n48 ~ n48', n49 ~ n49', n50 ~ n50', n51 ~ n51', n52 ~ n52', n53 ~ n53', n54 ~ n54', n55 ~ n55', n56 ~ n56', n57 ~ n57', n58 ~ n58', n59 ~ n59', n60 ~ n60', n61 ~ n61', n62 ~ n62', v1 ~ v1', v2 ~ v2', v3 ~ v3', v4 ~ v4', v5 ~ v5', v6 ~ v6', v7 ~ v7', v8 ~ v8', v9 ~ v9', v10 ~ v10', v11 ~ v11', v12 ~ v12', v13 ~ v13', v14 ~ v14', v15 ~ v15', v16 ~ v16', v17 ~ v17', v18 ~ v18', v19 ~ v19', v20 ~ v20', v21 ~ v21', v22 ~ v22', v23 ~ v23', v24 ~ v24', v25 ~ v25', v26 ~ v26', v27 ~ v27', v28 ~ v28', v29 ~ v29', v30 ~ v30', v31 ~ v31', v32 ~ v32', v33 ~ v33', v34 ~ v34', v35 ~ v35', v36 ~ v36', v37 ~ v37', v38 ~ v38', v39 ~ v39', v40 ~ v40', v41 ~ v41', v42 ~ v42', v43 ~ v43', v44 ~ v44', v45 ~ v45', v46 ~ v46', v47 ~ v47', v48 ~ v48', v49 ~ v49', v50 ~ v50', v51 ~ v51', v52 ~ v52', v53 ~ v53', v54 ~ v54', v55 ~ v55', v56 ~ v56', v57 ~ v57', v58 ~ v58', v59 ~ v59', v60 ~ v60', v61 ~ v61', v62 ~ v62') => RecTuple (n1 R.:= v1, n2 R.:= v2, n3 R.:= v3, n4 R.:= v4, n5 R.:= v5, n6 R.:= v6, n7 R.:= v7, n8 R.:= v8, n9 R.:= v9, n10 R.:= v10, n11 R.:= v11, n12 R.:= v12, n13 R.:= v13, n14 R.:= v14, n15 R.:= v15, n16 R.:= v16, n17 R.:= v17, n18 R.:= v18, n19 R.:= v19, n20 R.:= v20, n21 R.:= v21, n22 R.:= v22, n23 R.:= v23, n24 R.:= v24, n25 R.:= v25, n26 R.:= v26, n27 R.:= v27, n28 R.:= v28, n29 R.:= v29, n30 R.:= v30, n31 R.:= v31, n32 R.:= v32, n33 R.:= v33, n34 R.:= v34, n35 R.:= v35, n36 R.:= v36, n37 R.:= v37, n38 R.:= v38, n39 R.:= v39, n40 R.:= v40, n41 R.:= v41, n42 R.:= v42, n43 R.:= v43, n44 R.:= v44, n45 R.:= v45, n46 R.:= v46, n47 R.:= v47, n48 R.:= v48, n49 R.:= v49, n50 R.:= v50, n51 R.:= v51, n52 R.:= v52, n53 R.:= v53, n54 R.:= v54, n55 R.:= v55, n56 R.:= v56, n57 R.:= v57, n58 R.:= v58, n59 R.:= v59, n60 R.:= v60, n61 R.:= v61, n62 R.:= v62) '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', n34' R.:= v34', n35' R.:= v35', n36' R.:= v36', n37' R.:= v37', n38' R.:= v38', n39' R.:= v39', n40' R.:= v40', n41' R.:= v41', n42' R.:= v42', n43' R.:= v43', n44' R.:= v44', n45' R.:= v45', n46' R.:= v46', n47' R.:= v47', n48' R.:= v48', n49' R.:= v49', n50' R.:= v50', n51' R.:= v51', n52' R.:= v52', n53' R.:= v53', n54' R.:= v54', n55' R.:= v55', n56' R.:= v56', n57' R.:= v57', n58' R.:= v58', n59' R.:= v59', n60' R.:= v60', n61' R.:= v61', n62' R.:= v62'] where
262− fromTuple (f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, f57, f58, f59, f60, f61, f62) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRCons f5 =<< R.unsafeRCons f6 =<< R.unsafeRCons f7 =<< R.unsafeRCons f8 =<< R.unsafeRCons f9 =<< R.unsafeRCons f10 =<< R.unsafeRCons f11 =<< R.unsafeRCons f12 =<< R.unsafeRCons f13 =<< R.unsafeRCons f14 =<< R.unsafeRCons f15 =<< R.unsafeRCons f16 =<< R.unsafeRCons f17 =<< R.unsafeRCons f18 =<< R.unsafeRCons f19 =<< R.unsafeRCons f20 =<< R.unsafeRCons f21 =<< R.unsafeRCons f22 =<< R.unsafeRCons f23 =<< R.unsafeRCons f24 =<< R.unsafeRCons f25 =<< R.unsafeRCons f26 =<< R.unsafeRCons f27 =<< R.unsafeRCons f28 =<< R.unsafeRCons f29 =<< R.unsafeRCons f30 =<< R.unsafeRCons f31 =<< R.unsafeRCons f32 =<< R.unsafeRCons f33 =<< R.unsafeRCons f34 =<< R.unsafeRCons f35 =<< R.unsafeRCons f36 =<< R.unsafeRCons f37 =<< R.unsafeRCons f38 =<< R.unsafeRCons f39 =<< R.unsafeRCons f40 =<< R.unsafeRCons f41 =<< R.unsafeRCons f42 =<< R.unsafeRCons f43 =<< R.unsafeRCons f44 =<< R.unsafeRCons f45 =<< R.unsafeRCons f46 =<< R.unsafeRCons f47 =<< R.unsafeRCons f48 =<< R.unsafeRCons f49 =<< R.unsafeRCons f50 =<< R.unsafeRCons f51 =<< R.unsafeRCons f52 =<< R.unsafeRCons f53 =<< R.unsafeRCons f54 =<< R.unsafeRCons f55 =<< R.unsafeRCons f56 =<< R.unsafeRCons f57 =<< R.unsafeRCons f58 =<< R.unsafeRCons f59 =<< R.unsafeRCons f60 =<< R.unsafeRCons f61 =<< R.unsafeRCons f62 =<< R.unsafeRNil 62
263− toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r, n R.:= R.unsafeGet 2 r, n R.:= R.unsafeGet 3 r, n R.:= R.unsafeGet 4 r, n R.:= R.unsafeGet 5 r, n R.:= R.unsafeGet 6 r, n R.:= R.unsafeGet 7 r, n R.:= R.unsafeGet 8 r, n R.:= R.unsafeGet 9 r, n R.:= R.unsafeGet 10 r, n R.:= R.unsafeGet 11 r, n R.:= R.unsafeGet 12 r, n R.:= R.unsafeGet 13 r, n R.:= R.unsafeGet 14 r, n R.:= R.unsafeGet 15 r, n R.:= R.unsafeGet 16 r, n R.:= R.unsafeGet 17 r, n R.:= R.unsafeGet 18 r, n R.:= R.unsafeGet 19 r, n R.:= R.unsafeGet 20 r, n R.:= R.unsafeGet 21 r, n R.:= R.unsafeGet 22 r, n R.:= R.unsafeGet 23 r, n R.:= R.unsafeGet 24 r, n R.:= R.unsafeGet 25 r, n R.:= R.unsafeGet 26 r, n R.:= R.unsafeGet 27 r, n R.:= R.unsafeGet 28 r, n R.:= R.unsafeGet 29 r, n R.:= R.unsafeGet 30 r, n R.:= R.unsafeGet 31 r, n R.:= R.unsafeGet 32 r, n R.:= R.unsafeGet 33 r, n R.:= R.unsafeGet 34 r, n R.:= R.unsafeGet 35 r, n R.:= R.unsafeGet 36 r, n R.:= R.unsafeGet 37 r, n R.:= R.unsafeGet 38 r, n R.:= R.unsafeGet 39 r, n R.:= R.unsafeGet 40 r, n R.:= R.unsafeGet 41 r, n R.:= R.unsafeGet 42 r, n R.:= R.unsafeGet 43 r, n R.:= R.unsafeGet 44 r, n R.:= R.unsafeGet 45 r, n R.:= R.unsafeGet 46 r, n R.:= R.unsafeGet 47 r, n R.:= R.unsafeGet 48 r, n R.:= R.unsafeGet 49 r, n R.:= R.unsafeGet 50 r, n R.:= R.unsafeGet 51 r, n R.:= R.unsafeGet 52 r, n R.:= R.unsafeGet 53 r, n R.:= R.unsafeGet 54 r, n R.:= R.unsafeGet 55 r, n R.:= R.unsafeGet 56 r, n R.:= R.unsafeGet 57 r, n R.:= R.unsafeGet 58 r, n R.:= R.unsafeGet 59 r, n R.:= R.unsafeGet 60 r, n R.:= R.unsafeGet 61 r)
264−
test/JRecShouldNotTypecheckSpec.hsdeleted−15
@@ -1,15 +0,0 @@
1−{-# OPTIONS_GHC -fdefer-type-errors #-}
2−
3−module JRecShouldNotTypecheckSpec (spec) where
4−
5−import Control.Lens ((&), (.~), (^.))
6−import JRec
7−import Test.Hspec
8−import Test.ShouldNotTypecheck
9−import GHC.Stack
10−
11−spec :: Spec
12−spec = do
13− describe "insert" $ do
14− it "type-check fails if field already exists" $ do
15− shouldNotTypecheck ((#a := '1') `insert` Rec (#b := '2', #a := '0'))
test/JRecSpec.hs+16−52
@@ -1,42 +1,20 @@
1module JRecSpec (spec) where
1module JRecSpec (spec) where
2
2
3import Control.Lens ((&), (.~), (^.))
3import Control.Lens ((&), (.~), (^.))
4−import Data.Aeson
5−import GHC.Stack
6import JRec
4import JRec
7import Test.Hspec
5import Test.Hspec
8
6
9−data Pair a = Pair !a !a
10− deriving (Eq, Show)
11−
12−spec :: HasCallStack => Spec
7+spec :: Spec
13spec = do
8spec = do
14− it "is not crazy" $ do
15− Pair (Rec (#a := 1)) (Rec (#a := 2))
16− `shouldNotBe` Pair (Rec (#a := 1)) (Rec (#a := 1))
17− Pair (Rec (#a := 1)) (Rec (#a := 2))
18− `shouldNotBe` Pair (Rec (#a := 2)) (Rec (#a := 2))
19 it "polymorphic" $ do
9 it "polymorphic" $ do
20− (Rec (#u := True, #a := 5, #b := 6, #a := 2) & #u .~ 5)
10+ (Rec (#u := True, #a := 5, #b := 6, #a := 2 ) & #u .~ 5)
21 `shouldBe` Rec (#u := 5, #a := 5, #b := 6, #a := 2)
11 `shouldBe` Rec (#u := 5, #a := 5, #b := 6, #a := 2)
22− describe "eq" $ do
12+ describe "eq" $ do
23− -- eq can compare only the first matching field, discarding the rest.
13+ -- eq can compare only the first matching field, discarding the rest.
24 it "fails if first matching field doesn't compare" $ do
14 it "fails if first matching field doesn't compare" $ do
25 Rec (#a := 1, #a := 2) `shouldNotBe` Rec (#a := 0, #a := 2)
15 Rec (#a := 1, #a := 2) `shouldNotBe` Rec (#a := 0, #a := 2)
26 it "succeeds if first matching field compares" $ do
16 it "succeeds if first matching field compares" $ do
27 Rec (#a := 1, #a := 2) `shouldBe` Rec (#a := 1, #a := 0)
17 Rec (#a := 1, #a := 2) `shouldBe` Rec (#a := 1, #a := 0)
28− it "ord" $ do
29− -- Same as eq when there is duplicated keys.
30− -- Only the first occurence of that key is considered.
31− compare (Rec (#a := 1, #a := 2)) (Rec (#a := 1, #a := 2)) `shouldBe` EQ
32− compare (Rec (#a := 1, #a := 2)) (Rec (#a := 1, #a := 3)) `shouldBe` EQ
33− compare (Rec (#a := 1, #a := 2)) (Rec (#a := 2, #a := 1)) `shouldBe` LT
34− compare (Rec (#a := 1, #a := 2)) (Rec (#a := 0, #a := 3)) `shouldBe` GT
35− compare (Rec (#a := 1, #b := 2)) (Rec (#a := 1, #b := 2)) `shouldBe` EQ
36− compare (Rec (#a := 1, #b := 2)) (Rec (#a := 1, #b := 3)) `shouldBe` LT
37− compare (Rec (#a := 1, #b := 2)) (Rec (#a := 2, #b := 1)) `shouldBe` LT
38− compare (Rec (#a := 1, #b := 2)) (Rec (#a := 0, #b := 3)) `shouldBe` GT
39− compare (Rec (#a := 1, #a := 2, #b := 3)) (Rec (#a := 1, #a := 3, #b := 2)) `shouldBe` GT
40 it "show" $ do
18 it "show" $ do
41 show (Rec ()) `shouldBe` "{}"
19 show (Rec ()) `shouldBe` "{}"
42 show (Rec (#foo := True)) `shouldBe` "{foo = True}"
20 show (Rec (#foo := True)) `shouldBe` "{foo = True}"
@@ -71,17 +49,11 @@ spec = do
71 it "simple append" $ do
49 it "simple append" $ do
72 Rec (#a := 1) `append` Rec (#b := 2)
50 Rec (#a := 1) `append` Rec (#b := 2)
73 `shouldBe` Rec (#a := 1, #b := 2)
51 `shouldBe` Rec (#a := 1, #b := 2)
74− Rec () `append` Rec (#b := 2)
75− `shouldBe` Rec (#b := 2)
76− Rec (#a := 1) `append` Rec ()
77− `shouldBe` Rec (#a := 1)
78− Rec (#a := 1, #b := 2) `append` Rec (#c := 3)
79− `shouldBe` Rec (#a := 1, #b := 2, #c := 3)
80− Rec (#a := 1) `append` Rec (#b := 2, #c := 3)
81− `shouldBe` Rec (#a := 1, #b := 2, #c := 3)
82− Rec (#a := 1, #b := 2) `append` Rec (#c := 3, #d := 4)
83− `shouldBe` Rec (#a := 1, #b := 2, #c := 3, #d := 4)
84 it "append with duplicates" $ do
52 it "append with duplicates" $ do
53+ -- `append` will not deal with duplicates; based on current
54+ -- implementation, the last value (here, 8) will overwrite all duplicate
55+ -- fields. See `union` if you want to deal with duplicates sensibly.
56+ pendingWith "append should just append?"
85 let r1 = Rec (#b := 5, #a := 6)
57 let r1 = Rec (#b := 5, #a := 6)
86 r2 = Rec (#c := 7, #a := 8)
58 r2 = Rec (#c := 7, #a := 8)
87 r1 `append` r2
59 r1 `append` r2
@@ -95,10 +67,16 @@ spec = do
95 r2 = Rec (#c := 7, #a := 8)
67 r2 = Rec (#c := 7, #a := 8)
96 r1 `union` r2
68 r1 `union` r2
97 `shouldBe` Rec (#b := 5, #a := 6, #c := 7)
69 `shouldBe` Rec (#b := 5, #a := 6, #c := 7)
98− describe "insert" $ do
70+ describe "insert" $ do
99− it "simple insert" $ do
71+ it "simple insert" $ do
100 (#a := 1) `insert` Rec (#b := 2, #c := 3)
72 (#a := 1) `insert` Rec (#b := 2, #c := 3)
101 `shouldBe` Rec (#a := 1, #b := 2, #c := 3)
73 `shouldBe` Rec (#a := 1, #b := 2, #c := 3)
74+ -- TODO: type check should fail
75+ -- it "insert of already existing field should fail" $ do
76+ -- (#a := 1) `insert` Rec (#b := 2, #a := 0, #c := 3)
77+ -- `shouldBe` Rec (#a := 1, #b := 2, #a := 0, #c := 3)
78+ it "duplicate insert should be disallowed" $ do
79+ pendingWith "TODO"
102 describe "insertOrSet" $ do
80 describe "insertOrSet" $ do
103 it "distinct" $ do
81 it "distinct" $ do
104 insertOrSet (#a := 1) (Rec (#b := 2, #c := 3))
82 insertOrSet (#a := 1) (Rec (#b := 2, #c := 3))
@@ -106,17 +84,3 @@ spec = do
106 it "overwrite" $ do
84 it "overwrite" $ do
107 insertOrSet (#c := 1) (Rec (#b := 2, #c := 3))
85 insertOrSet (#c := 1) (Rec (#b := 2, #c := 3))
108 `shouldBe` Rec (#b := 2, #c := 1)
86 `shouldBe` Rec (#b := 2, #c := 1)
109− describe "optional fields" $ do
110− it "encode" $ do
111− encode (Rec (#a := (1 :: Int), #b := (Nothing :: Maybe Int)))
112− `shouldBe` "{\"a\":1}"
113− it "encode" $ do
114− encode (Rec (#a := (1 :: Int), #b := (Just 2 :: Maybe Int)))
115− `shouldBe` "{\"a\":1,\"b\":2}"
116− it "decode" $ do
117− decode "{\"a\": 1}"
118− `shouldBe` Just (Rec (#a := (1 :: Int), #b := (Nothing :: Maybe Int)))
119− decode "{\"a\": 1, \"b\": null}"
120− `shouldBe` Just (Rec (#a := (1 :: Int), #b := (Nothing :: Maybe Int)))
121− decode "{\"a\": 1, \"b\": 2}"
122− `shouldBe` Just (Rec (#a := (1 :: Int), #b := (Just 2 :: Maybe Int)))