diff --git a/bin/genrecord b/bin/genrecord old mode 100644 new mode 100755 index 9135d3e..753e95c --- a/bin/genrecord +++ b/bin/genrecord @@ -42,12 +42,10 @@ genInstance i = i toTuple = format - "toTuple r = let {} = R.getFields r in unsafeCoerce {}" - exprList - exprTuple + "toTuple r = let n = R.FldProxy :: R.FldProxy \"\" in unsafeCoerce {}" + exprGetTuple constraints = tupleF $ - format "R.RecApply {} {} R.NoConstraint" typeList typeList : [format "n{} ~ n{}'" j j :: Builder | j <- [1 .. i]] ++ [format "v{} ~ v{}'" j j :: Builder | j <- [1 .. i]] in format @@ -71,3 +69,5 @@ genInstance i = exprList = listF ["f" <> show j | j <- [1 .. i]] -- R.unsafeRCons f1 $ R.unsafeRCons f2 $ consApps = mconcat [format "R.unsafeRCons f{} =<< " j :: Builder | j <- [1 .. i]] + -- (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r) + exprGetTuple = tupleF [format "n R.:= R.unsafeGet {} r" j :: Builder | j <- [0 .. i-1]] diff --git a/src/JRec/Internal.hs b/src/JRec/Internal.hs index bbe0664..b6830c9 100644 --- a/src/JRec/Internal.hs +++ b/src/JRec/Internal.hs @@ -187,6 +187,20 @@ unsafeRCons (_ := val) (MkRec vec#) = !(I# size#) = fromIntegral $ natVal' (proxy# :: Proxy# size) {-# INLINE unsafeRCons #-} +-- | Get the i-th value as Any unsafely. +-- No boundary check. Also ther caller is responsible for coerceing to correct type. +-- Intented for internal use only. +unsafeGet :: + forall lts. + Int -> + Rec lts -> + Any +unsafeGet (I# index#) (MkRec vec#) = + let size# = sizeofSmallArray# vec# + in case indexSmallArray# vec# (size# -# index# -# 1#) of + (# a# #) -> a# +{-# INLINE unsafeGet #-} + -- Not in superrecord recCopy :: forall lts rts. RecCopy lts lts rts => Rec lts -> Rec rts recCopy r@(MkRec vec#) = @@ -298,15 +312,9 @@ get :: FldProxy l -> Rec lts -> v -get _ (MkRec vec#) = - let !(I# index#) = - fromIntegral (natVal' (proxy# :: Proxy# (RecTyIdxH 0 l lts))) - size# = sizeofSmallArray# vec# - anyVal :: Any - anyVal = - case indexSmallArray# vec# (size# -# index# -# 1#) of - (# a# #) -> a# - in unsafeCoerce# anyVal +get _ r = + let !index = fromIntegral (natVal' (proxy# :: Proxy# (RecTyIdxH 0 l lts))) + in unsafeCoerce $ unsafeGet index r {-# INLINE get #-} -- | Alias for 'get' diff --git a/src/JRec/Tuple.hs b/src/JRec/Tuple.hs index 12eb892..5d7815c 100644 --- a/src/JRec/Tuple.hs +++ b/src/JRec/Tuple.hs @@ -14,251 +14,251 @@ instance RecTuple () '[] where fromTuple _ = R.rnil toTuple _ = () -instance (R.RecApply '[n1' R.:= v1'] '[n1' R.:= v1'] R.NoConstraint, n1 ~ n1', v1 ~ v1') => RecTuple (n1 R.:= v1) '[n1' R.:= v1'] where +instance (n1 ~ n1', v1 ~ v1') => RecTuple (n1 R.:= v1) '[n1' R.:= v1'] where fromTuple (f1) = R.create $ R.unsafeRCons f1 =<< R.unsafeRNil 1 - toTuple r = let [f1] = R.getFields r in unsafeCoerce (f1) + toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r) -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 +instance (n1 ~ n1', n2 ~ n2', v1 ~ v1', v2 ~ v2') => RecTuple (n1 R.:= v1, n2 R.:= v2) '[n1' R.:= v1', n2' R.:= v2'] where fromTuple (f1, f2) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRNil 2 - toTuple r = let [f1, f2] = R.getFields r in unsafeCoerce (f1, f2) + toTuple r = let n = R.FldProxy :: R.FldProxy "" in unsafeCoerce (n R.:= R.unsafeGet 0 r, n R.:= R.unsafeGet 1 r) -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 +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 fromTuple (f1, f2, f3) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRNil 3 - toTuple r = let [f1, f2, f3] = R.getFields r in unsafeCoerce (f1, f2, f3) + 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) -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 +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 fromTuple (f1, f2, f3, f4) = R.create $ R.unsafeRCons f1 =<< R.unsafeRCons f2 =<< R.unsafeRCons f3 =<< R.unsafeRCons f4 =<< R.unsafeRNil 4 - toTuple r = let [f1, f2, f3, f4] = R.getFields r in unsafeCoerce (f1, f2, f3, f4) + 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) -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 +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 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 - toTuple r = let [f1, f2, f3, f4, f5] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5) + 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) -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 +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 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 - toTuple r = let [f1, f2, f3, f4, f5, f6] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6) + 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) -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 +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 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 - toTuple r = let [f1, f2, f3, f4, f5, f6, f7] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7) + 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) -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 +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 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 - toTuple r = let [f1, f2, f3, f4, f5, f6, f7, f8] = R.getFields r in unsafeCoerce (f1, f2, f3, f4, f5, f6, f7, f8) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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) -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 +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 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 - 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) + 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)