on master help sign in
16 files changed+412−251
since splitsnapshots
unifiedsplit
.github/workflows/ci.yaml+7−13 .vscode/extensions.json+11 .vscode/settings.json+5−4 CHANGELOG.md+4 Setup.hs−2 bin/genrecord+4−4 bin/test+1−1 default.nix−36 flake.lock+81 flake.nix+34 jrec.cabal+15−3 shell.nix+1 src/JRec.hs+13−15 src/JRec/Internal.hs+87−42 src/JRec/Tuple.hs+124−124 test/JRecSpec.hs+25−7
.github/workflows/ci.yaml+7−13
@@ -4,20 +4,14 @@ on:
44 push:
55jobs:
66 build:
7− runs-on: ${{ matrix.os }}
8− strategy:
9− matrix:
10− ghc: ['ghc884', 'ghc8101']
11− os: [ubuntu-latest]
12− name: GHC ${{ matrix.ghc }}
7+ runs-on: ubuntu-latest
138 steps:
149 - uses: actions/checkout@v2
15− - uses: cachix/install-nix-action@v10
16− - uses: cachix/cachix-action@v6
10+ - uses: nixbuild/nix-quick-install-action@v21
1711 with:
18− name: juspay-nau
19− signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
20− # Only needed for private caches
21− authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
12+ nix_conf: |
13+ experimental-features = nix-command flakes
2214 - 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 @@
11{
2− "nixEnvSelector.nixShellConfig": "${workspaceRoot}/default.nix",
3− "editor.formatOnType": true,
4− "editor.formatOnSave": true
5−}
2+ "editor.formatOnType": true,
3+ "editor.formatOnSave": true,
4+ "nixEnvSelector.nixFile": "${workspaceRoot}/shell.nix",
5+ "haskell.manageHLS": "PATH"
6+}
CHANGELOG.md+4
@@ -1,5 +1,9 @@
11# Revision history for rec
22
3+## Unreleased
4+
5+- GHC 9.2 + Aeson 2.0 support
6+
37## 0.1.0.0 -- YYYY-mm-dd
48
59* First version. Released on an unsuspecting world.
Setup.hsdeleted−2
@@ -1,2 +0,0 @@
1−import Distribution.Simple
2−main = defaultMain
bin/genrecordmode 100644 → 100755+4−4
@@ -42,12 +42,10 @@ genInstance i =
4242 i
4343 toTuple =
4444 format
45− "toTuple r = let {} = R.getFields r in unsafeCoerce {}"
46− exprList
47− exprTuple
45+ "toTuple r = let n = R.FldProxy :: R.FldProxy \"\" in unsafeCoerce {}"
46+ exprGetTuple
4847 constraints =
4948 tupleF $
50− format "R.RecApply {} {} R.NoConstraint" typeList typeList :
5149 [format "n{} ~ n{}'" j j :: Builder | j <- [1 .. i]]
5250 ++ [format "v{} ~ v{}'" j j :: Builder | j <- [1 .. i]]
5351 in format
@@ -71,3 +69,5 @@ genInstance i =
7169 exprList = listF ["f" <> show j | j <- [1 .. i]]
7270 -- R.unsafeRCons f1 $ R.unsafeRCons f2 $
7371 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 @@
22set -xe
33
44# 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−36
@@ -1,36 +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− ];
34− };
35− in
36− 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+15−3
@@ -1,6 +1,6 @@
11cabal-version: 2.4
22name: jrec
3−version: 0.1.0.0
3+version: 0.1.0.1
44synopsis: anonymous records for busy people
55
66-- description:
@@ -24,13 +24,20 @@ flag with-aeson
2424 -- with instances by default
2525 default: True
2626
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+
2734-- A common stanza to share with tests, so that ghcid (bin/test) will reload
2835-- instantly when the library sources change (without us having to restart it).
2936common library-common
3037 default-language: Haskell2010
3138 build-depends:
3239 aeson
33− , base >=4.13 && <4.15
40+ , base >=4.13 && <4.17
3441 , constraints
3542 , deepseq
3643 , generic-data
@@ -81,13 +88,18 @@ library
8188 JRec.Field
8289 if flag(with-aeson)
8390 cpp-options: -DWITH_AESON
91+ if flag(with-generics)
92+ cpp-options: -DWITH_GENERICS
8493
8594test-suite jrec-test
8695 import: library-common
8796 type: exitcode-stdio-1.0
8897 hs-source-dirs: test, src
8998 main-is: Spec.hs
90− cpp-options: -DWITH_AESON
99+ cpp-options: -DWITH_AESON -DWITH_GENERICS
100+ other-modules:
101+ JRecShouldNotTypecheckSpec
102+ JRecSpec
91103 build-depends:
92104 base,
93105 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 #-}
12{-# LANGUAGE GADTs #-}
23{-# LANGUAGE PatternSynonyms #-}
34{-# LANGUAGE TypeApplications #-}
@@ -10,7 +11,7 @@ module JRec
1011 append,
1112 union,
1213 insert,
13− insertOrSet
14+ insertOrSet,
1415 )
1516where
1617
@@ -49,13 +50,7 @@ unField _ (_ R.:= value) = value
4950-- FIXME: See spec for a bug when there are duplicates.
5051append ::
5152 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,
56− R.RecCopy lhs lhs res,
57− R.RecCopy rhs rhs res
58− ) =>
53+ res ~ R.RecAppend lhs rhs =>
5954 Rec lhs ->
6055 Rec rhs ->
6156 Rec res
@@ -63,8 +58,8 @@ append = R.combine
6358
6459-- Merges records, removing duplicates
6560--
66−-- Left-biased. Does not sort.
67−--
61+-- Left-biased. Does not sort.
62+--
6863-- O(n * m) type check complexity.
6964union ::
7065 forall lhs rhs res.
@@ -83,18 +78,19 @@ union = R.union
8378-- | Insert a field into a record that does not already contain it
8479--
8580-- O(n) type check complexity.
86−insert ::
87− forall label value lts res.
81+insert ::
82+ forall label value lts res.
8883 ( KnownNat (1 + R.RecSize lts),
8984 KnownNat (R.RecSize lts),
9085 KnownSymbol label,
9186 R.RecCopy lts lts res,
9287 res ~ ((label := value) : lts),
9388 R.RemoveAccessTo label lts ~ lts
94− ) =>
89+ ) =>
9590 label := value ->
96− Rec lts -> Rec res
97−insert = R.combine . Rec
91+ Rec lts ->
92+ Rec res
93+insert = R.combine . Rec
9894
9995-- | Insert a field into a record. Set it if it already exists
10096--
@@ -133,6 +129,7 @@ type RecordRep fields =
133129 (Sels fields)
134130 )
135131
132+#ifdef WITH_GENERICS
136133instance
137134 (R.FromNative (RecordRep fields) fields, R.ToNative (RecordRep fields) fields) =>
138135 Generic (Rec fields)
@@ -142,6 +139,7 @@ instance
142139 RecordRep fields
143140 from r = R.toNative' r
144141 to rep = R.fromNative' rep
142+#endif
145143
146144----------------------------------------------------------------------------
147145-- generic-lens
src/JRec/Internal.hs+87−42
@@ -32,6 +32,8 @@ import qualified Control.Monad.State as S
3232import Data.Aeson
3333import Data.Aeson.Types (Parser)
3434import Data.Constraint
35+import Data.List (intercalate)
36+import Data.Maybe (catMaybes)
3537import Data.Proxy
3638import qualified Data.Text as T
3739import Data.Typeable
@@ -41,11 +43,17 @@ import GHC.OverloadedLabels
4143import GHC.Prim
4244import GHC.ST (ST (..), runST)
4345import GHC.TypeLits
44−import Generic.Data (gshowsPrec)
45−import Generic.Data.Internal.Show (GShow)
4646import qualified Optics.Lens as OL
4747import Unsafe.Coerce
4848import 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
4957
5058-- | Field named @l@ labels value of type @t@ adapted from the awesome /labels/ package.
5159-- Example: @(#name := \"Chris\") :: (\"name\" := String)@
@@ -101,21 +109,24 @@ defaultJSONOptions = JSONOptions {fieldTransform = id}
101109type role Rec representational
102110
103111instance
104− ( RecApply lts lts Show,
105− GShow Proxy (Rep (Rec lts)),
106− Generic (Rec lts)
112+ ( RecApply lts lts Show
107113 ) =>
108114 Show (Rec lts)
109115 where
110− 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
111118
112119instance RecEq lts lts => Eq (Rec lts) where
113120 (==) (a :: Rec lts) (b :: Rec lts) = recEq a b (Proxy :: Proxy lts)
114121 {-# INLINE (==) #-}
115122
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+
116127#ifdef WITH_AESON
117128instance
118− ( RecApply lts lts ToJSON
129+ ( RecApply lts lts EncodeField
119130 ) =>
120131 ToJSON (Rec lts)
121132 where
@@ -124,6 +135,7 @@ instance
124135
125136instance (RecSize lts ~ s, KnownNat s, RecJsonParse lts) => FromJSON (Rec lts) where
126137 parseJSON = recJsonParser defaultJSONOptions
138+
127139#endif
128140
129141instance RecNfData lts lts => NFData (Rec lts) where
@@ -181,6 +193,20 @@ unsafeRCons (_ := val) (MkRec vec#) =
181193 !(I# size#) = fromIntegral $ natVal' (proxy# :: Proxy# size)
182194{-# INLINE unsafeRCons #-}
183195
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+
184210-- Not in superrecord
185211recCopy :: forall lts rts. RecCopy lts lts rts => Rec lts -> Rec rts
186212recCopy r@(MkRec vec#) =
@@ -292,15 +318,9 @@ get ::
292318 FldProxy l ->
293319 Rec lts ->
294320 v
295−get _ (MkRec vec#) =
296− let !(I# index#) =
297− fromIntegral (natVal' (proxy# :: Proxy# (RecTyIdxH 0 l lts)))
298− size# = sizeofSmallArray# vec#
299− anyVal :: Any
300− anyVal =
301− case indexSmallArray# vec# (size# -# index# -# 1#) of
302− (# a# #) -> a#
303− in unsafeCoerce# anyVal
321+get _ r =
322+ let !index = fromIntegral (natVal' (proxy# :: Proxy# (RecTyIdxH 0 l lts)))
323+ in unsafeCoerce $ unsafeGet index r
304324{-# INLINE get #-}
305325
306326-- | Alias for 'get'
@@ -389,26 +409,20 @@ type family RecDeepTy (ps :: r) (lts :: [*]) :: * where
389409-- NOTE: changed from original superrecord to not require a 'Sort'
390410combine ::
391411 forall lhs rhs res.
392− ( KnownNat (RecSize lhs),
393− KnownNat (RecSize rhs),
394− KnownNat (RecSize lhs + RecSize rhs),
395− res ~ RecAppend lhs rhs,
396− RecCopy lhs lhs res,
397− RecCopy rhs rhs res
398− ) =>
412+ res ~ RecAppend lhs rhs =>
399413 Rec lhs ->
400414 Rec rhs ->
401415 Rec res
402−combine lts rts =
403− let !(I# size#) =
404− fromIntegral $ natVal' (proxy# :: Proxy# (RecSize lhs + RecSize rhs))
416+combine (MkRec arr0#) (MkRec arr1#) =
417+ let !size0# = sizeofSmallArray# arr0#
418+ !size1# = sizeofSmallArray# arr1#
405419 in runST' $
406420 ST $ \s# ->
407− case newSmallArray# size# (error "No value") s# of
421+ case newSmallArray# (size0# +# size1#) (error "No value") s# of
408422 (# s'#, arr# #) ->
409− case recCopyInto (Proxy :: Proxy lhs) lts (Proxy :: Proxy res) arr# s'# of
423+ case copySmallArray# arr1# 0# arr# 0# size1# s'# of
410424 s''# ->
411− case recCopyInto (Proxy :: Proxy rhs) rts (Proxy :: Proxy res) arr# s''# of
425+ case copySmallArray# arr0# 0# arr# size1# size0# s''# of
412426 s'''# ->
413427 case unsafeFreezeSmallArray# arr# s'''# of
414428 (# s''''#, a# #) -> (# s''''#, MkRec a# #)
@@ -478,13 +492,7 @@ insert (l := v) rts =
478492-- | Alias for 'combine'
479493(++:) ::
480494 forall lhs rhs res.
481− ( KnownNat (RecSize lhs),
482− KnownNat (RecSize rhs),
483− KnownNat (RecSize lhs + RecSize rhs),
484− res ~ RecAppend lhs rhs,
485− RecCopy lhs lhs res,
486− RecCopy rhs rhs res
487− ) =>
495+ res ~ RecAppend lhs rhs =>
488496 Rec lhs ->
489497 Rec rhs ->
490498 Rec res
@@ -552,13 +560,26 @@ reflectRecFold _ f r =
552560showRec :: forall lts. (RecApply lts lts Show) => Rec lts -> [(String, String)]
553561showRec = reflectRec @Show Proxy (\k v -> (k, show v))
554562
555−recToValue :: forall lts. (RecApply lts lts ToJSON) => JSONOptions -> Rec lts -> Value
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+
576+recToValue :: forall lts. (RecApply lts lts EncodeField) => JSONOptions -> Rec lts -> Value
556577recToValue options r =
557− 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
558579
559−recToEncoding :: forall lts. (RecApply lts lts ToJSON) => JSONOptions -> Rec lts -> Encoding
580+recToEncoding :: forall lts. (RecApply lts lts EncodeField) => JSONOptions -> Rec lts -> Encoding
560581recToEncoding options r =
561− 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
562583
563584recJsonParser ::
564585 forall lts s.
@@ -618,6 +639,30 @@ instance
618639 pNext = Proxy
619640 in res && recEq r1 r2 pNext
620641
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+
621666-- TODO: this probably slows typechecking in euler-ps, and should not be needed
622667type family RemoveAccessTo (l :: Symbol) (lts :: [*]) :: [*] where
623668 RemoveAccessTo l (l := t ': lts) = RemoveAccessTo l lts
@@ -635,10 +680,10 @@ class FromJSON a => ParseField a where
635680 parseField :: Object -> T.Text -> Parser a
636681
637682instance FromJSON a => ParseField a where
638− parseField = (.:)
683+ parseField o k = o .: fromText k
639684
640685instance {-# OVERLAPS #-} FromJSON a => ParseField (Maybe a) where
641− parseField = (.:?)
686+ parseField o k = o .:? fromText k
642687
643688instance
644689 ( KnownSymbol l,
src/JRec/Tuple.hs+124−124
@@ -14,251 +14,251 @@ instance RecTuple () '[] where
1414 fromTuple _ = R.rnil
1515 toTuple _ = ()
1616
17−instance (R.RecApply '[n1' R.:= v1'] '[n1' R.:= v1'] R.NoConstraint, n1 ~ n1', v1 ~ v1') => RecTuple (n1 R.:= v1) '[n1' R.:= v1'] where
17+instance (n1 ~ n1', v1 ~ v1') => RecTuple (n1 R.:= v1) '[n1' R.:= v1'] where
1818 fromTuple (f1) = R.create $ R.unsafeRCons f1 =<< R.unsafeRNil 1
19− toTuple r = let [f1] = R.getFields r in unsafeCoerce (f1)
19+ toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r)
2020
21−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
21+instance (n1 ~ n1', n2 ~ n2', v1 ~ v1', v2 ~ v2') => RecTuple (n1 R.:= v1, n2 R.:= v2) '[n1' R.:= v1', n2' R.:= v2'] where
2222 fromTuple (f1, f2) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRNil 2
23− toTuple r = let [f1, f2] = R.getFields r in unsafeCoerce (f1, f2)
23+ toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r)
2424
25−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
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
2626 fromTuple (f1, f2, f3) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRNil 3
27− toTuple r = let [f1, f2, f3] = R.getFields r in unsafeCoerce (f1, f2, f3)
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)
2828
29−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
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
3030 fromTuple (f1, f2, f3, f4) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRNil 4
31− toTuple r = let [f1, f2, f3, f4] = R.getFields r in unsafeCoerce (f1, f2, f3, f4)
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)
3232
33−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
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
3434 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
35− toTuple r = let [f1, f2, f3, f4, f5] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5)
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)
3636
37−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
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
3838 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
39− toTuple r = let [f1, f2, f3, f4, f5, f6] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6)
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)
4040
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'] '[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
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
4242 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
43− toTuple r = let [f1, f2, f3, f4, f5, f6, f7] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7)
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)
4444
45−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
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
4646 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
47− toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8)
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)
4848
49−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
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
5050 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
51− 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)
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)
5252
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'] '[n1' R.:= v1', n2' R.:= v2', 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
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
5454 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
55− 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)
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)
5656
57−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
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
5858 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
59− 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)
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)
6060
61−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
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
6262 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
63− 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)
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)
6464
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'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', 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
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
6666 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
67− 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)
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)
6868
69−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
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
7070 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
71− 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)
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)
7272
73−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
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
7474 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
75− 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)
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)
7676
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'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', 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
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
7878 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
79− 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)
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)
8080
81−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
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
8282 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
83− 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)
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)
8484
85−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
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
8686 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
87− 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)
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)
8888
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'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', 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
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
9090 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
91− 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)
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)
9292
93−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
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
9494 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
95− 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)
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)
9696
97−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
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
9898 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
99− 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)
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)
100100
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'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', 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
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
102102 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
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] = 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)
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)
104104
105−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
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
106106 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
107− 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)
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)
108108
109−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
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
110110 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
111− 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)
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)
112112
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'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', 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
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
114114 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
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] = 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)
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)
116116
117−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
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
118118 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
119− 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)
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)
120120
121−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
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
122122 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
123− 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)
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)
124124
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'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', 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
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
126126 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
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] = 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)
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)
128128
129−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
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
130130 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
131− 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)
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)
132132
133−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
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
134134 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
135− 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)
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)
136136
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'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', 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
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
138138 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
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] = 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)
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)
140140
141−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
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
142142 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
143− 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)
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)
144144
145−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
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
146146 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
147− 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)
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)
148148
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'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', 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
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
150150 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
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] = 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)
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)
152152
153−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
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
154154 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
155− 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)
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)
156156
157−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
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
158158 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
159− 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)
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)
160160
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'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', 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
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
162162 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
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] = 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)
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)
164164
165−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
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
166166 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
167− 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)
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)
168168
169−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
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
170170 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
171− 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)
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)
172172
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'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', 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
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
174174 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
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] = 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)
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)
176176
177−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
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
178178 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
179− 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)
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)
180180
181−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
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
182182 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
183− 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)
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)
184184
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'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', 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
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
186186 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
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] = 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)
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)
188188
189−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
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
190190 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
191− 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)
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)
192192
193−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
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
194194 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
195− 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)
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)
196196
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'] '[n1' R.:= v1', n2' R.:= v2', n3' R.:= v3', n4' R.:= v4', n5' R.:= v5', n6' R.:= v6', n7' R.:= v7', n8' R.:= v8', n9' R.:= v9', n10' R.:= v10', n11' R.:= v11', n12' R.:= v12', n13' R.:= v13', n14' R.:= v14', n15' R.:= v15', n16' R.:= v16', n17' R.:= v17', n18' R.:= v18', n19' R.:= v19', n20' R.:= v20', n21' R.:= v21', n22' R.:= v22', n23' R.:= v23', n24' R.:= v24', n25' R.:= v25', n26' R.:= v26', n27' R.:= v27', n28' R.:= v28', n29' R.:= v29', n30' R.:= v30', n31' R.:= v31', n32' R.:= v32', n33' R.:= v33', 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
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
198198 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
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] = 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)
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)
200200
201−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
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
202202 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 [f1, f2, f3, f4, f5, f6, 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)
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)
204204
205−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
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
206206 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 [f1, f2, f3, f4, f5, f6, 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)
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)
208208
209−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
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
210210 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 [f1, f2, f3, f4, f5, f6, 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)
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)
212212
213−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
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
214214 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 [f1, f2, f3, f4, f5, f6, 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)
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)
216216
217−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
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
218218 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 [f1, f2, f3, f4, f5, f6, 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)
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)
220220
221−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
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
222222 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 [f1, f2, f3, f4, f5, f6, 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)
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)
224224
225−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
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
226226 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 [f1, f2, f3, f4, f5, f6, 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)
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)
228228
229−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
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
230230 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 [f1, f2, f3, f4, f5, f6, 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)
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)
232232
233−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
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
234234 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 [f1, f2, f3, f4, f5, f6, 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)
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)
236236
237−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
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
238238 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 [f1, f2, f3, f4, f5, f6, 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)
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)
240240
241−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
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
242242 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 [f1, f2, f3, f4, f5, f6, 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)
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)
244244
245−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
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
246246 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 [f1, f2, f3, f4, f5, f6, 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)
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)
248248
249−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
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
250250 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 [f1, f2, f3, f4, f5, f6, 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)
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)
252252
253−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
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
254254 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 [f1, f2, f3, f4, f5, f6, 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)
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)
256256
257−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
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
258258 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 [f1, f2, f3, f4, f5, f6, 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)
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)
260260
261−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
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
262262 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 [f1, f2, f3, f4, f5, f6, 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)
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)
264264
test/JRecSpec.hs+25−7
@@ -25,6 +25,18 @@ spec = do
2525 Rec (#a := 1, #a := 2) `shouldNotBe` Rec (#a := 0, #a := 2)
2626 it "succeeds if first matching field compares" $ do
2727 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
2840 it "show" $ do
2941 show (Rec ()) `shouldBe` "{}"
3042 show (Rec (#foo := True)) `shouldBe` "{foo = True}"
@@ -59,11 +71,17 @@ spec = do
5971 it "simple append" $ do
6072 Rec (#a := 1) `append` Rec (#b := 2)
6173 `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)
6284 it "append with duplicates" $ do
63− -- TODO: `append` will not deal with duplicates; based on current
64− -- implementation, the last value (here, 8) will overwrite all duplicate
65− -- fields. See `union` if you want to deal with duplicates sensibly.
66− pendingWith "append should just append?"
6785 let r1 = Rec (#b := 5, #a := 6)
6886 r2 = Rec (#c := 7, #a := 8)
6987 r1 `append` r2
@@ -91,14 +109,14 @@ spec = do
91109 describe "optional fields" $ do
92110 it "encode" $ do
93111 encode (Rec (#a := (1 :: Int), #b := (Nothing :: Maybe Int)))
94− `shouldBe` "{\"a\":1,\"b\":null}"
112+ `shouldBe` "{\"a\":1}"
95113 it "encode" $ do
96114 encode (Rec (#a := (1 :: Int), #b := (Just 2 :: Maybe Int)))
97115 `shouldBe` "{\"a\":1,\"b\":2}"
98116 it "decode" $ do
99− decode "{\"a\": 1, \"b\": null}"
100− `shouldBe` Just (Rec (#a := (1 :: Int), #b := (Nothing :: Maybe Int)))
101117 decode "{\"a\": 1}"
102118 `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)))
103121 decode "{\"a\": 1, \"b\": 2}"
104122 `shouldBe` Just (Rec (#a := (1 :: Int), #b := (Just 2 :: Maybe Int)))