on master help sign in
.github/workflows/ci.yaml+7−13
since splitsnapshots
unifiedsplit
@@ -4,20 +4,14 @@ on:
4 push:
4 push:
5jobs:
5jobs:
6 build:
6 build:
7− runs-on: ${{ matrix.os }}
8− strategy:
9− matrix:
10− ghc: ['ghc884', 'ghc8101']
11− os: [ubuntu-latest]
7+ runs-on: ubuntu-latest
12− name: GHC ${{ matrix.ghc }}
13 steps:
8 steps:
14 - uses: actions/checkout@v2
9 - uses: actions/checkout@v2
15− - uses: cachix/install-nix-action@v10
10+ - uses: nixbuild/nix-quick-install-action@v21
16− - uses: cachix/cachix-action@v6
17 with:
11 with:
18− name: juspay-nau
12+ nix_conf: |
19− signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
13+ experimental-features = nix-command flakes
20− # Only needed for private caches
21− authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
22 - name: Build and test 🔧
14 - name: Build and test 🔧
23− run: nix-build -j4 --argstr compiler ${{ matrix.ghc }}
15+ run: nix build -j 4 -L
16+ - name: Build and test (GHC 8.8) 🔧
17+ run: nix build -j 4 -L .#jrec-ghc88
.vscode/extensions.jsonnew file+11
@@ -0,0 +1,11 @@
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+5−4
@@ -1,5 +1,6 @@
1{
1{
2+ "editor.formatOnType": true,
3+ "editor.formatOnSave": true,
2− "nixEnvSelector.nixShellConfig": "${workspaceRoot}/default.nix",
4+ "nixEnvSelector.nixFile": "${workspaceRoot}/shell.nix",
3− "editor.formatOnType": true,
5+ "haskell.manageHLS": "PATH"
4− "editor.formatOnSave": true
5−}
6+}
CHANGELOG.md+4
@@ -1,5 +1,9 @@
1# Revision history for rec
1# Revision history for rec
2
2
3+## Unreleased
4+
5+- GHC 9.2 + Aeson 2.0 support
6+
3## 0.1.0.0 -- YYYY-mm-dd
7## 0.1.0.0 -- YYYY-mm-dd
4
8
5* First version. Released on an unsuspecting world.
9* First version. Released on an unsuspecting world.
Setup.hsdeleted−2
@@ -1,2 +0,0 @@
1−import Distribution.Simple
2−main = defaultMain
bin/genrecordnew file+73
@@ -0,0 +1,73 @@
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−1
@@ -2,4 +2,4 @@
2set -xe
2set -xe
3
3
4# NOTE: ghcid should be run with -W to allow warnings from should-not-typecheck
4# NOTE: ghcid should be run with -W to allow warnings from should-not-typecheck
5−nix-shell --pure --run "ghcid $* -W -c 'cabal new-repl test:jrec-test' -T \":main $*\""
5+nix develop -c sh -c "ghcid $* -W -c 'cabal new-repl test:jrec-test' -T \":main $*\""
default.nixdeleted−39
@@ -1,39 +0,0 @@
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− # https://github.com/lspitzner/data-tree-print/pull/2
25− data-tree-print = doJailbreak super.data-tree-print;
26− };
27− };
28− projectShell =
29− projectDrv.shellFor {
30− packages = p: [ p.jrec ];
31− buildInputs = with projectDrv; [
32− cabal-install
33− ormolu
34− haskell-language-server
35− ghcid
36− ];
37− };
38− in
39− if pkgs.lib.inNixShell then projectShell else projectDrv.jrec
flake.locknew file+81
@@ -0,0 +1,81 @@
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.nixnew file+34
@@ -0,0 +1,34 @@
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+16−3
@@ -1,6 +1,6 @@
1cabal-version: 2.4
1cabal-version: 2.4
2name: jrec
2name: jrec
3−version: 0.1.0.0
3+version: 0.1.0.1
4synopsis: anonymous records for busy people
4synopsis: anonymous records for busy people
5
5
6-- description:
6-- description:
@@ -24,13 +24,20 @@ flag with-aeson
24 -- with instances by default
24 -- with instances by default
25 default: True
25 default: True
26
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+
27-- A common stanza to share with tests, so that ghcid (bin/test) will reload
34-- A common stanza to share with tests, so that ghcid (bin/test) will reload
28-- instantly when the library sources change (without us having to restart it).
35-- instantly when the library sources change (without us having to restart it).
29common library-common
36common library-common
30 default-language: Haskell2010
37 default-language: Haskell2010
31 build-depends:
38 build-depends:
32 aeson
39 aeson
33− , base >=4.13 && <4.15
40+ , base >=4.13 && <4.17
34 , constraints
41 , constraints
35 , deepseq
42 , deepseq
36 , generic-data
43 , generic-data
@@ -81,12 +88,18 @@ library
81 JRec.Field
88 JRec.Field
82 if flag(with-aeson)
89 if flag(with-aeson)
83 cpp-options: -DWITH_AESON
90 cpp-options: -DWITH_AESON
91+ if flag(with-generics)
92+ cpp-options: -DWITH_GENERICS
84
93
85test-suite jrec-test
94test-suite jrec-test
86 import: library-common
95 import: library-common
87 type: exitcode-stdio-1.0
96 type: exitcode-stdio-1.0
88 hs-source-dirs: test, src
97 hs-source-dirs: test, src
89− main-is: Spec.hs
98+ main-is: Spec.hs
99+ cpp-options: -DWITH_AESON -DWITH_GENERICS
100+ other-modules:
101+ JRecShouldNotTypecheckSpec
102+ JRecSpec
90 build-depends:
103 build-depends:
91 base,
104 base,
92 hspec,
105 hspec,
shell.nixnew file+1
@@ -0,0 +1 @@
1+(builtins.getFlake ("git+file://" + toString ./.)).devShells.${builtins.currentSystem}.default
src/JRec.hs+13−15
@@ -1,3 +1,4 @@
1+{-# LANGUAGE CPP #-}
1{-# LANGUAGE GADTs #-}
2{-# LANGUAGE GADTs #-}
2{-# LANGUAGE PatternSynonyms #-}
3{-# LANGUAGE PatternSynonyms #-}
3{-# LANGUAGE TypeApplications #-}
4{-# LANGUAGE TypeApplications #-}
@@ -10,7 +11,7 @@ module JRec
10 append,
11 append,
11 union,
12 union,
12 insert,
13 insert,
13− insertOrSet
14+ insertOrSet,
14 )
15 )
15where
16where
16
17
@@ -49,13 +50,7 @@ unField _ (_ R.:= value) = value
49-- FIXME: See spec for a bug when there are duplicates.
50-- FIXME: See spec for a bug when there are duplicates.
50append ::
51append ::
51 forall lhs rhs res.
52 forall lhs rhs res.
52− ( KnownNat (R.RecSize lhs),
53− KnownNat (R.RecSize rhs),
54− KnownNat (R.RecSize lhs + R.RecSize rhs),
55− res ~ R.RecAppend lhs rhs,
53+ res ~ R.RecAppend lhs rhs =>
56− R.RecCopy lhs lhs res,
57− R.RecCopy rhs rhs res
58− ) =>
59 Rec lhs ->
54 Rec lhs ->
60 Rec rhs ->
55 Rec rhs ->
61 Rec res
56 Rec res
@@ -63,8 +58,8 @@ append = R.combine
63
58
64-- Merges records, removing duplicates
59-- Merges records, removing duplicates
65--
60--
66−-- Left-biased. Does not sort.
61+-- Left-biased. Does not sort.
67−--
62+--
68-- O(n * m) type check complexity.
63-- O(n * m) type check complexity.
69union ::
64union ::
70 forall lhs rhs res.
65 forall lhs rhs res.
@@ -83,18 +78,19 @@ union = R.union
83-- | Insert a field into a record that does not already contain it
78-- | Insert a field into a record that does not already contain it
84--
79--
85-- O(n) type check complexity.
80-- O(n) type check complexity.
86−insert ::
81+insert ::
87− forall label value lts res.
82+ forall label value lts res.
88 ( KnownNat (1 + R.RecSize lts),
83 ( KnownNat (1 + R.RecSize lts),
89 KnownNat (R.RecSize lts),
84 KnownNat (R.RecSize lts),
90 KnownSymbol label,
85 KnownSymbol label,
91 R.RecCopy lts lts res,
86 R.RecCopy lts lts res,
92 res ~ ((label := value) : lts),
87 res ~ ((label := value) : lts),
93 R.RemoveAccessTo label lts ~ lts
88 R.RemoveAccessTo label lts ~ lts
94− ) =>
89+ ) =>
95 label := value ->
90 label := value ->
96− Rec lts -> Rec res
91+ Rec lts ->
92+ Rec res
97−insert = R.combine . Rec
93+insert = R.combine . Rec
98
94
99-- | Insert a field into a record. Set it if it already exists
95-- | Insert a field into a record. Set it if it already exists
100--
96--
@@ -133,6 +129,7 @@ type RecordRep fields =
133 (Sels fields)
129 (Sels fields)
134 )
130 )
135
131
132+#ifdef WITH_GENERICS
136instance
133instance
137 (R.FromNative (RecordRep fields) fields, R.ToNative (RecordRep fields) fields) =>
134 (R.FromNative (RecordRep fields) fields, R.ToNative (RecordRep fields) fields) =>
138 Generic (Rec fields)
135 Generic (Rec fields)
@@ -142,6 +139,7 @@ instance
142 RecordRep fields
139 RecordRep fields
143 from r = R.toNative' r
140 from r = R.toNative' r
144 to rep = R.fromNative' rep
141 to rep = R.fromNative' rep
142+#endif
145
143
146----------------------------------------------------------------------------
144----------------------------------------------------------------------------
147-- generic-lens
145-- generic-lens
src/JRec/Internal.hs+151−87
@@ -32,6 +32,8 @@ import qualified Control.Monad.State as S
32import Data.Aeson
32import Data.Aeson
33import Data.Aeson.Types (Parser)
33import Data.Aeson.Types (Parser)
34import Data.Constraint
34import Data.Constraint
35+import Data.List (intercalate)
36+import Data.Maybe (catMaybes)
35import Data.Proxy
37import Data.Proxy
36import qualified Data.Text as T
38import qualified Data.Text as T
37import Data.Typeable
39import Data.Typeable
@@ -41,11 +43,17 @@ import GHC.OverloadedLabels
41import GHC.Prim
43import GHC.Prim
42import GHC.ST (ST (..), runST)
44import GHC.ST (ST (..), runST)
43import GHC.TypeLits
45import GHC.TypeLits
44−import Generic.Data (gshowsPrec)
45−import Generic.Data.Internal.Show (GShow)
46import qualified Optics.Lens as OL
46import qualified Optics.Lens as OL
47import Unsafe.Coerce
47import Unsafe.Coerce
48import Prelude
48import 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
49
57
50-- | Field named @l@ labels value of type @t@ adapted from the awesome /labels/ package.
58-- | Field named @l@ labels value of type @t@ adapted from the awesome /labels/ package.
51-- Example: @(#name := \"Chris\") :: (\"name\" := String)@
59-- Example: @(#name := \"Chris\") :: (\"name\" := String)@
@@ -72,6 +80,10 @@ instance
72 showsPrec p (l := t) =
80 showsPrec p (l := t) =
73 showParen (p > 10) (showString ("#" ++ symbolVal l ++ " := " ++ show t))
81 showParen (p > 10) (showString ("#" ++ symbolVal l ++ " := " ++ show t))
74
82
83+unpackAssign :: (label := value) -> value
84+unpackAssign (_ := value) = value
85+{-# INLINE unpackAssign #-}
86+
75-- | A proxy witness for a label. Very similar to 'Proxy', but needed to implement
87-- | A proxy witness for a label. Very similar to 'Proxy', but needed to implement
76-- a non-orphan 'IsLabel' instance
88-- a non-orphan 'IsLabel' instance
77data FldProxy (t :: Symbol)
89data FldProxy (t :: Symbol)
@@ -97,21 +109,24 @@ defaultJSONOptions = JSONOptions {fieldTransform = id}
97type role Rec representational
109type role Rec representational
98
110
99instance
111instance
100− ( RecApply lts lts Show,
112+ ( RecApply lts lts Show
101− GShow Proxy (Rep (Rec lts)),
102− Generic (Rec lts)
103 ) =>
113 ) =>
104 Show (Rec lts)
114 Show (Rec lts)
105 where
115 where
106− show = (\x -> if null x then "{}" else x) . unwords . drop 1 . words . flip (gshowsPrec 0) ""
116+ show rec = "{" ++ formatted ++ "}"
117+ where formatted = intercalate ", " $ map (\(k, v) -> k ++ " = " ++ v) $ showRec rec
107
118
108instance RecEq lts lts => Eq (Rec lts) where
119instance RecEq lts lts => Eq (Rec lts) where
109 (==) (a :: Rec lts) (b :: Rec lts) = recEq a b (Proxy :: Proxy lts)
120 (==) (a :: Rec lts) (b :: Rec lts) = recEq a b (Proxy :: Proxy lts)
110 {-# INLINE (==) #-}
121 {-# INLINE (==) #-}
111
122
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+
112#ifdef WITH_AESON
127#ifdef WITH_AESON
113instance
128instance
114− ( RecApply lts lts ToJSON
129+ ( RecApply lts lts EncodeField
115 ) =>
130 ) =>
116 ToJSON (Rec lts)
131 ToJSON (Rec lts)
117 where
132 where
@@ -120,31 +135,78 @@ instance
120
135
121instance (RecSize lts ~ s, KnownNat s, RecJsonParse lts) => FromJSON (Rec lts) where
136instance (RecSize lts ~ s, KnownNat s, RecJsonParse lts) => FromJSON (Rec lts) where
122 parseJSON = recJsonParser defaultJSONOptions
137 parseJSON = recJsonParser defaultJSONOptions
138+
123#endif
139#endif
124
140
125instance RecNfData lts lts => NFData (Rec lts) where
141instance RecNfData lts lts => NFData (Rec lts) where
126 rnf = recNfData (Proxy :: Proxy lts)
142 rnf = recNfData (Proxy :: Proxy lts)
127
143
144+newtype ForallST a = ForallST {unForallST :: forall s. ST s a}
145+
128-- Hack needed because $! doesn't have the same special treatment $ does to work with ST yet
146-- Hack needed because $! doesn't have the same special treatment $ does to work with ST yet
129runST' :: (forall s. ST s a) -> a
147runST' :: (forall s. ST s a) -> a
130runST' !s = runST s
148runST' !s = runST s
131
149
132-- | An empty record
150-- | An empty record
133rnil :: Rec '[]
151rnil :: Rec '[]
134−rnil = unsafeRNil 0
152+rnil = create (unsafeRNil 0)
135{-# INLINE rnil #-}
153{-# INLINE rnil #-}
136
154
137−-- | An empty record with an initial size for the record
155+create :: (forall s. ST s (Rec xs)) -> Rec xs
156+create = runST'
157+
138−unsafeRNil :: Int -> Rec '[]
158+unsafeRNil :: Int -> ST s (Rec '[])
139unsafeRNil (I# n#) =
159unsafeRNil (I# n#) =
140− runST' $
141− ST $ \s# ->
160+ ST $ \s# ->
142− case newSmallArray# n# (error "No Value") s# of
161+ case newSmallArray# n# (error "No value") s# of
143− (# s'#, arr# #) ->
162+ (# s'#, arr# #) ->
144− case unsafeFreezeSmallArray# arr# s'# of
163+ case unsafeFreezeSmallArray# arr# s'# of
145− (# s''#, a# #) -> (# s''#, MkRec a# #)
164+ (# s''#, a# #) -> (# s''#, MkRec a# #)
146{-# INLINE unsafeRNil #-}
165{-# INLINE unsafeRNil #-}
147
166
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+
148-- Not in superrecord
210-- Not in superrecord
149recCopy :: forall lts rts. RecCopy lts lts rts => Rec lts -> Rec rts
211recCopy :: forall lts rts. RecCopy lts lts rts => Rec lts -> Rec rts
150recCopy r@(MkRec vec#) =
212recCopy r@(MkRec vec#) =
@@ -189,36 +251,6 @@ instance
189 in case writeSmallArray# tgt# (size# -# index# -# 1#) (unsafeCoerce# val) s# of
251 in case writeSmallArray# tgt# (size# -# index# -# 1#) (unsafeCoerce# val) s# of
190 s'# -> recCopyInto (Proxy :: Proxy nts) lts prxy tgt# s'#
252 s'# -> recCopyInto (Proxy :: Proxy nts) lts prxy tgt# s'#
191
253
192−-- | Prepend a record entry to a record 'Rec'. Assumes that the record was created with
193−-- 'unsafeRNil' and still has enough free slots, mutates the original 'Rec' which should
194−-- not be reused after
195−--
196−-- NOTE: doesn't use 'KeyDoesNotExist' because we rely on the fact that in
197−-- euler-ps there were no duplicate keys
198−unsafeRCons ::
199− forall l t lts s.
200− ( RecSize lts ~ s,
201− KnownNat s
202− -- KeyDoesNotExist l lts
203− ) =>
204− l := t ->
205− Rec lts ->
206− Rec (l := t ': lts)
207−unsafeRCons (_ := val) (MkRec vec#) =
208− runST' $
209− ST $ \s# ->
210− case unsafeThawSmallArray# vec# s# of
211− (# s'#, arr# #) ->
212− -- Write the value to be cons'ed at the *end* (hence size#) of the
213− -- array, because `Rec` stores values in reverse order.
214− case writeSmallArray# arr# size# (unsafeCoerce# val) s'# of
215− s''# ->
216− case unsafeFreezeSmallArray# arr# s''# of
217− (# s'''#, a# #) -> (# s'''#, MkRec a# #)
218− where
219− !(I# size#) = fromIntegral $ natVal' (proxy# :: Proxy# s)
220−{-# INLINE unsafeRCons #-}
221−
222type family RecAll (c :: u -> Constraint) (rs :: [u]) :: Constraint where
254type family RecAll (c :: u -> Constraint) (rs :: [u]) :: Constraint where
223 RecAll c '[] = ()
255 RecAll c '[] = ()
224 RecAll c (r ': rs) = (c r, RecAll c rs)
256 RecAll c (r ': rs) = (c r, RecAll c rs)
@@ -286,15 +318,9 @@ get ::
286 FldProxy l ->
318 FldProxy l ->
287 Rec lts ->
319 Rec lts ->
288 v
320 v
289−get _ (MkRec vec#) =
321+get _ r =
290− let !(I# index#) =
291− fromIntegral (natVal' (proxy# :: Proxy# (RecTyIdxH 0 l lts)))
322+ let !index = fromIntegral (natVal' (proxy# :: Proxy# (RecTyIdxH 0 l lts)))
292− size# = sizeofSmallArray# vec#
293− anyVal :: Any
294− anyVal =
295− case indexSmallArray# vec# (size# -# index# -# 1#) of
296− (# a# #) -> a#
297− in unsafeCoerce# anyVal
323+ in unsafeCoerce $ unsafeGet index r
298{-# INLINE get #-}
324{-# INLINE get #-}
299
325
300-- | Alias for 'get'
326-- | Alias for 'get'
@@ -383,26 +409,20 @@ type family RecDeepTy (ps :: r) (lts :: [*]) :: * where
383-- NOTE: changed from original superrecord to not require a 'Sort'
409-- NOTE: changed from original superrecord to not require a 'Sort'
384combine ::
410combine ::
385 forall lhs rhs res.
411 forall lhs rhs res.
386− ( KnownNat (RecSize lhs),
387− KnownNat (RecSize rhs),
388− KnownNat (RecSize lhs + RecSize rhs),
389− res ~ RecAppend lhs rhs,
412+ res ~ RecAppend lhs rhs =>
390− RecCopy lhs lhs res,
391− RecCopy rhs rhs res
392− ) =>
393 Rec lhs ->
413 Rec lhs ->
394 Rec rhs ->
414 Rec rhs ->
395 Rec res
415 Rec res
396−combine lts rts =
416+combine (MkRec arr0#) (MkRec arr1#) =
397− let !(I# size#) =
417+ let !size0# = sizeofSmallArray# arr0#
398− fromIntegral $ natVal' (proxy# :: Proxy# (RecSize lhs + RecSize rhs))
418+ !size1# = sizeofSmallArray# arr1#
399 in runST' $
419 in runST' $
400 ST $ \s# ->
420 ST $ \s# ->
401− case newSmallArray# size# (error "No value") s# of
421+ case newSmallArray# (size0# +# size1#) (error "No value") s# of
402 (# s'#, arr# #) ->
422 (# s'#, arr# #) ->
403− case recCopyInto (Proxy :: Proxy lhs) lts (Proxy :: Proxy res) arr# s'# of
423+ case copySmallArray# arr1# 0# arr# 0# size1# s'# of
404 s''# ->
424 s''# ->
405− case recCopyInto (Proxy :: Proxy rhs) rts (Proxy :: Proxy res) arr# s''# of
425+ case copySmallArray# arr0# 0# arr# size1# size0# s''# of
406 s'''# ->
426 s'''# ->
407 case unsafeFreezeSmallArray# arr# s'''# of
427 case unsafeFreezeSmallArray# arr# s'''# of
408 (# s''''#, a# #) -> (# s''''#, MkRec a# #)
428 (# s''''#, a# #) -> (# s''''#, MkRec a# #)
@@ -456,13 +476,14 @@ insert ::
456insert (l := v) rts =
476insert (l := v) rts =
457 let !(I# size#) =
477 let !(I# size#) =
458 fromIntegral $ natVal' (proxy# :: Proxy# (RecSize res))
478 fromIntegral $ natVal' (proxy# :: Proxy# (RecSize res))
459− in runST' $
479+ in runST' $ do
480+ single <- unsafeRCons (l := v) =<< unsafeRNil 1
460 ST $ \s# ->
481 ST $ \s# ->
461 case newSmallArray# size# (error "No value") s# of
482 case newSmallArray# size# (error "No value") s# of
462 (# s'#, arr# #) ->
483 (# s'#, arr# #) ->
463 case recCopyInto (Proxy :: Proxy rhs) rts (Proxy :: Proxy res) arr# s'# of
484 case recCopyInto (Proxy :: Proxy rhs) rts (Proxy :: Proxy res) arr# s'# of
464 s''# ->
485 s''# ->
465− case recCopyInto (Proxy :: Proxy '[l := v]) (unsafeRCons (l := v) $ unsafeRNil 1) (Proxy :: Proxy res) arr# s''# of
486+ case recCopyInto (Proxy :: Proxy '[l := v]) single (Proxy :: Proxy res) arr# s''# of
466 s'''# ->
487 s'''# ->
467 case unsafeFreezeSmallArray# arr# s'''# of
488 case unsafeFreezeSmallArray# arr# s'''# of
468 (# s''''#, a# #) -> (# s''''#, MkRec a# #)
489 (# s''''#, a# #) -> (# s''''#, MkRec a# #)
@@ -471,13 +492,7 @@ insert (l := v) rts =
471-- | Alias for 'combine'
492-- | Alias for 'combine'
472(++:) ::
493(++:) ::
473 forall lhs rhs res.
494 forall lhs rhs res.
474− ( KnownNat (RecSize lhs),
475− KnownNat (RecSize rhs),
476− KnownNat (RecSize lhs + RecSize rhs),
477− res ~ RecAppend lhs rhs,
495+ res ~ RecAppend lhs rhs =>
478− RecCopy lhs lhs res,
479− RecCopy rhs rhs res
480− ) =>
481 Rec lhs ->
496 Rec lhs ->
482 Rec rhs ->
497 Rec rhs ->
483 Rec res
498 Rec res
@@ -545,13 +560,26 @@ reflectRecFold _ f r =
545showRec :: forall lts. (RecApply lts lts Show) => Rec lts -> [(String, String)]
560showRec :: forall lts. (RecApply lts lts Show) => Rec lts -> [(String, String)]
546showRec = reflectRec @Show Proxy (\k v -> (k, show v))
561showRec = reflectRec @Show Proxy (\k v -> (k, show v))
547
562
563+class ToJSON a => EncodeField a where
564+ encodeField :: a -> Maybe Value
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+
548−recToValue :: forall lts. (RecApply lts lts ToJSON) => JSONOptions -> Rec lts -> Value
576+recToValue :: forall lts. (RecApply lts lts EncodeField) => JSONOptions -> Rec lts -> Value
549recToValue options r =
577recToValue options r =
550− object $ reflectRec @ToJSON Proxy (\k v -> (T.pack (fieldTransform options k), toJSON v)) r
578+ object $ catMaybes $ reflectRec @EncodeField Proxy (\k v -> (fromString (fieldTransform options k),) <$> encodeField v) r
551
579
552−recToEncoding :: forall lts. (RecApply lts lts ToJSON) => JSONOptions -> Rec lts -> Encoding
580+recToEncoding :: forall lts. (RecApply lts lts EncodeField) => JSONOptions -> Rec lts -> Encoding
553recToEncoding options r =
581recToEncoding options r =
554− pairs $ mconcat $ reflectRec @ToJSON Proxy (\k v -> (T.pack (fieldTransform options k) .= v)) r
582+ pairs $ mconcat $ reflectRec @EncodeField Proxy (\k v -> (T.pack (fieldTransform options k) `encodeKV` v)) r
555
583
556recJsonParser ::
584recJsonParser ::
557 forall lts s.
585 forall lts s.
@@ -559,7 +587,7 @@ recJsonParser ::
559 (JSONOptions -> Value -> Parser (Rec lts))
587 (JSONOptions -> Value -> Parser (Rec lts))
560recJsonParser options =
588recJsonParser options =
561 withObject "Record" $ \o ->
589 withObject "Record" $ \o ->
562− recJsonParse options initSize o
590+ (\(ForallST act) -> create act) <$> recJsonParse options initSize o
563 where
591 where
564 initSize = fromIntegral $ natVal' (proxy# :: Proxy# s)
592 initSize = fromIntegral $ natVal' (proxy# :: Proxy# s)
565
593
@@ -611,6 +639,30 @@ instance
611 pNext = Proxy
639 pNext = Proxy
612 in res && recEq r1 r2 pNext
640 in res && recEq r1 r2 pNext
613
641
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+
614-- TODO: this probably slows typechecking in euler-ps, and should not be needed
666-- TODO: this probably slows typechecking in euler-ps, and should not be needed
615type family RemoveAccessTo (l :: Symbol) (lts :: [*]) :: [*] where
667type family RemoveAccessTo (l :: Symbol) (lts :: [*]) :: [*] where
616 RemoveAccessTo l (l := t ': lts) = RemoveAccessTo l lts
668 RemoveAccessTo l (l := t ': lts) = RemoveAccessTo l lts
@@ -619,14 +671,24 @@ type family RemoveAccessTo (l :: Symbol) (lts :: [*]) :: [*] where
619
671
620-- | Machinery to implement parseJSON
672-- | Machinery to implement parseJSON
621class RecJsonParse (lts :: [*]) where
673class RecJsonParse (lts :: [*]) where
622− recJsonParse :: JSONOptions -> Int -> Object -> Parser (Rec lts)
674+ recJsonParse :: JSONOptions -> Int -> Object -> Parser (ForallST (Rec lts))
623
675
624instance RecJsonParse '[] where
676instance RecJsonParse '[] where
625− recJsonParse _ initSize _ = pure (unsafeRNil initSize)
677+ recJsonParse _ initSize _ = pure (ForallST (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
626
687
627instance
688instance
628 ( KnownSymbol l,
689 ( KnownSymbol l,
629 FromJSON t,
690 FromJSON t,
691+ ParseField t,
630 RecJsonParse lts,
692 RecJsonParse lts,
631 RecSize lts ~ s,
693 RecSize lts ~ s,
632 KnownNat s,
694 KnownNat s,
@@ -638,8 +700,8 @@ instance
638 let lbl :: FldProxy l
700 let lbl :: FldProxy l
639 lbl = FldProxy
701 lbl = FldProxy
640 rest <- recJsonParse options initSize obj
702 rest <- recJsonParse options initSize obj
641− (v :: t) <- obj .: T.pack (fieldTransform options (symbolVal lbl))
703+ (v :: t) <- obj `parseField` T.pack (fieldTransform options (symbolVal lbl))
642− pure $ unsafeRCons (lbl := v) rest
704+ pure $ ForallST (unsafeRCons (lbl := v) =<< unForallST rest)
643
705
644-- | Machinery for NFData
706-- | Machinery for NFData
645class RecNfData (lts :: [*]) (rts :: [*]) where
707class RecNfData (lts :: [*]) (rts :: [*]) where
@@ -680,7 +742,9 @@ instance
680 ) =>
742 ) =>
681 FromNative (S1 ('MetaSel ('Just name) p s l) (Rec0 t)) '[name := t]
743 FromNative (S1 ('MetaSel ('Just name) p s l) (Rec0 t)) '[name := t]
682 where
744 where
745+ fromNative' (M1 (K1 t)) =
746+ create $
683− fromNative' (M1 (K1 t)) = ((FldProxy :: FldProxy name) := t) `unsafeRCons` unsafeRNil 1
747+ unsafeRCons ((FldProxy :: FldProxy name) := t) =<< unsafeRNil 1
684
748
685instance
749instance
686 ( FromNative l lhs,
750 ( FromNative l lhs,
src/JRec/Tuple.hs+253−188
@@ -1,199 +1,264 @@
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−-- TODO: Import this script, and make it generate 'JRec' instead of 'Record'
2+
3module JRec.Tuple where
3module JRec.Tuple where
4−import Prelude
4+
5import qualified JRec.Internal as R
5import qualified JRec.Internal as R
6import Unsafe.Coerce
6import Unsafe.Coerce
7+
7class RecTuple tuple fields | tuple -> fields, fields -> tuple where
8class RecTuple tuple fields | tuple -> fields, fields -> tuple where
8 fromTuple :: tuple -> R.Rec fields
9 fromTuple :: tuple -> R.Rec fields
9 toTuple :: R.Rec fields -> tuple
10 toTuple :: R.Rec fields -> tuple
10
11
12+
11instance RecTuple () '[] where
13instance RecTuple () '[] where
12 fromTuple _ = R.rnil
14 fromTuple _ = R.rnil
13 toTuple _ = ()
15 toTuple _ = ()
14−instance (R.RecApply '[n1' R.:= v1'] '[n1' R.:= v1'] R.NoConstraint, n1 ~ n1', v1 ~ v1') => RecTuple (n1 R.:= v1) '[n1' R.:= v1'] where
16+
15− fromTuple (f1) = R.unsafeRCons f1 $ R.unsafeRNil 1
17+instance (n1 ~ n1', v1 ~ v1') => RecTuple (n1 R.:= v1) '[n1' R.:= v1'] where
16− toTuple r = let [f1] = R.getFields r in unsafeCoerce (f1)
18+ fromTuple (f1) = R.create $ R.unsafeRCons f1 =<< R.unsafeRNil 1
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
19+ toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r)
18− fromTuple (f1, f2) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRNil 2
20+
19− toTuple r = let [f1, f2] = R.getFields r in unsafeCoerce (f1, f2)
21+instance (n1 ~ n1', n2 ~ n2', v1 ~ v1', v2 ~ v2') => RecTuple (n1 R.:= v1, n2 R.:= v2) '[n1' R.:= v1', n2' R.:= v2'] where
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
22+ fromTuple (f1, f2) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRNil 2
21− fromTuple (f1, f2, f3) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRNil 3
23+ toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r)
22− toTuple r = let [f1, f2, f3] = R.getFields r in unsafeCoerce (f1, f2, f3)
24+
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
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
24− fromTuple (f1, f2, f3, f4) = R.unsafeRCons f1 $ R.unsafeRCons f2 $ R.unsafeRCons f3 $ R.unsafeRCons f4 $ R.unsafeRNil 4
26+ fromTuple (f1, f2, f3) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRNil 3
25− toTuple r = let [f1, f2, f3, f4] = R.getFields r in unsafeCoerce (f1, f2, f3, f4)
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)
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
28+
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
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
28− toTuple r = let [f1, f2, f3, f4, f5] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5)
30+ fromTuple (f1, f2, f3, f4) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRNil 4
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
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)
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
32+
31− toTuple r = let [f1, f2, f3, f4, f5, f6] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6)
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
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
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
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
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)
34− toTuple r = let [f1, f2, f3, f4, f5, f6, f7] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7)
36+
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
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
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
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
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)
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)
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
40+
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
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
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)
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
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
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)
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
44+
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)
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
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
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
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
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)
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)
48+
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
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
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
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
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)
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)
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
52+
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
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
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)
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
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
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)
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
56+
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)
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
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
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
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
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)
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)
60+
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
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
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
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
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)
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)
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
64+
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
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
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)
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
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
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)
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
68+
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)
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
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
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
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
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)
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)
72+
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
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
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
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
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)
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)
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
76+
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
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
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)
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
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
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)
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
80+
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)
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
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
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
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
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)
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)
84+
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
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
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
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
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)
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)
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
88+
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
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
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)
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
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
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)
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
92+
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)
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
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
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
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
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)
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)
96+
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
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
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
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
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)
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)
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
100+
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
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
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)
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
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
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)
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
104+
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)
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
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
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
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
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)
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)
108+
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
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
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
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
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)
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)
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
112+
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
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
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)
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
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
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)
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
116+
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)
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
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
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
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
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)
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)
120+
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
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
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
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
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)
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)
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
124+
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
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
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)
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
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
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)
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
128+
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)
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
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
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
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
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)
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)
132+
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
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
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
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
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)
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)
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
136+
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
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
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)
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
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
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)
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
140+
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)
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
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
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
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
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)
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)
144+
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
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
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
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
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)
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)
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
148+
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
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
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)
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
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
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)
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
152+
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)
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
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
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
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
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)
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)
156+
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
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
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
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
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)
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)
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
160+
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
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
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)
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
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
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)
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
164+
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)
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
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
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
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
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)
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)
168+
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
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
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
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
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)
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)
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
172+
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
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
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)
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
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
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)
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
176+
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)
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
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
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
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
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)
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)
180+
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
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
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
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
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)
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)
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
184+
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
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
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)
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
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
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)
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
188+
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)
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
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
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
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
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)
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)
192+
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
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
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
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
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)
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)
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
196+
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
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
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)
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
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
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)
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
200+
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)
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
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/JRecSpec.hs+51−10
@@ -1,21 +1,42 @@
1module JRecSpec (spec) where
1module JRecSpec (spec) where
2
2
3import Control.Lens ((&), (.~), (^.))
3import Control.Lens ((&), (.~), (^.))
4+import Data.Aeson
5+import GHC.Stack
4import JRec
6import JRec
5import Test.Hspec
7import Test.Hspec
6−import GHC.Stack
8+
9+data Pair a = Pair !a !a
10+ deriving (Eq, Show)
7
11
8spec :: HasCallStack => Spec
12spec :: HasCallStack => Spec
9spec = do
13spec = 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))
10 it "polymorphic" $ do
19 it "polymorphic" $ do
11− (Rec (#u := True, #a := 5, #b := 6, #a := 2 ) & #u .~ 5)
20+ (Rec (#u := True, #a := 5, #b := 6, #a := 2) & #u .~ 5)
12 `shouldBe` Rec (#u := 5, #a := 5, #b := 6, #a := 2)
21 `shouldBe` Rec (#u := 5, #a := 5, #b := 6, #a := 2)
13− describe "eq" $ do
22+ describe "eq" $ do
14− -- eq can compare only the first matching field, discarding the rest.
23+ -- eq can compare only the first matching field, discarding the rest.
15 it "fails if first matching field doesn't compare" $ do
24 it "fails if first matching field doesn't compare" $ do
16 Rec (#a := 1, #a := 2) `shouldNotBe` Rec (#a := 0, #a := 2)
25 Rec (#a := 1, #a := 2) `shouldNotBe` Rec (#a := 0, #a := 2)
17 it "succeeds if first matching field compares" $ do
26 it "succeeds if first matching field compares" $ do
18 Rec (#a := 1, #a := 2) `shouldBe` Rec (#a := 1, #a := 0)
27 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
19 it "show" $ do
40 it "show" $ do
20 show (Rec ()) `shouldBe` "{}"
41 show (Rec ()) `shouldBe` "{}"
21 show (Rec (#foo := True)) `shouldBe` "{foo = True}"
42 show (Rec (#foo := True)) `shouldBe` "{foo = True}"
@@ -50,11 +71,17 @@ spec = do
50 it "simple append" $ do
71 it "simple append" $ do
51 Rec (#a := 1) `append` Rec (#b := 2)
72 Rec (#a := 1) `append` Rec (#b := 2)
52 `shouldBe` Rec (#a := 1, #b := 2)
73 `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)
53 it "append with duplicates" $ do
84 it "append with duplicates" $ do
54− -- TODO: `append` will not deal with duplicates; based on current
55− -- implementation, the last value (here, 8) will overwrite all duplicate
56− -- fields. See `union` if you want to deal with duplicates sensibly.
57− pendingWith "append should just append?"
58 let r1 = Rec (#b := 5, #a := 6)
85 let r1 = Rec (#b := 5, #a := 6)
59 r2 = Rec (#c := 7, #a := 8)
86 r2 = Rec (#c := 7, #a := 8)
60 r1 `append` r2
87 r1 `append` r2
@@ -68,8 +95,8 @@ spec = do
68 r2 = Rec (#c := 7, #a := 8)
95 r2 = Rec (#c := 7, #a := 8)
69 r1 `union` r2
96 r1 `union` r2
70 `shouldBe` Rec (#b := 5, #a := 6, #c := 7)
97 `shouldBe` Rec (#b := 5, #a := 6, #c := 7)
71− describe "insert" $ do
98+ describe "insert" $ do
72− it "simple insert" $ do
99+ it "simple insert" $ do
73 (#a := 1) `insert` Rec (#b := 2, #c := 3)
100 (#a := 1) `insert` Rec (#b := 2, #c := 3)
74 `shouldBe` Rec (#a := 1, #b := 2, #c := 3)
101 `shouldBe` Rec (#a := 1, #b := 2, #c := 3)
75 describe "insertOrSet" $ do
102 describe "insertOrSet" $ do
@@ -79,3 +106,17 @@ spec = do
79 it "overwrite" $ do
106 it "overwrite" $ do
80 insertOrSet (#c := 1) (Rec (#b := 2, #c := 3))
107 insertOrSet (#c := 1) (Rec (#b := 2, #c := 3))
81 `shouldBe` Rec (#b := 2, #c := 1)
108 `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)))