@@ -54,7 +54,6 @@ import Rel8.Schema.Context.Label
54 ( Labelable, labeler, unlabeler
54 ( Labelable, labeler, unlabeler
55 , hlabeler, hunlabeler
55 , hlabeler, hunlabeler
57−import Rel8.Schema.Context.Nullify ( Nullifiable )
58import Rel8.Schema.Field ( Field )
57import Rel8.Schema.Field ( Field )
59import Rel8.Schema.HTable ( HTable )
58import Rel8.Schema.HTable ( HTable )
60import Rel8.Schema.HTable.Either ( HEitherTable )
59import Rel8.Schema.HTable.Either ( HEitherTable )
@@ -92,48 +91,42 @@ import Rel8.Table.These ( TheseTable )
92import Data.These ( These )
91import Data.These ( These )
95−instance (Rel8able t, TableHelper (IsSpecialContext context) context) =>
94+instance (Rel8able t, TableHelper context) => Table context (t context) where
96− Table context (t context)
98 type Columns (t context) = GRep t
95 type Columns (t context) = GRep t
99 type Context (t context) = context
96 type Context (t context) = context
100 fromColumns = gfromColumns
97 fromColumns = gfromColumns
101 toColumns = gtoColumns
98 toColumns = gtoColumns
104−type TableHelper :: Bool -> K.Context -> Constraint
101+type TableHelper :: K.Context -> Constraint
105−class IsSpecialContext context ~ isSpecialContext =>
106− TableHelper isSpecialContext context
102+class TableHelper context where
108 gfromColumns :: Rel8able t => GRep t (Col context) -> t context
103 gfromColumns :: Rel8able t => GRep t (Col context) -> t context
109 gtoColumns :: Rel8able t => t context -> GRep t (Col context)
104 gtoColumns :: Rel8able t => t context -> GRep t (Col context)
112−instance TableHelper 'True Aggregate where
107+instance TableHelper Aggregate where
113 gfromColumns = fromAggregateColumns
108 gfromColumns = fromAggregateColumns
114 gtoColumns = toAggregateColumns
109 gtoColumns = toAggregateColumns
117−instance TableHelper 'True Expr where
112+instance TableHelper Expr where
118 gfromColumns = fromExprColumns
113 gfromColumns = fromExprColumns
119 gtoColumns = toExprColumns
114 gtoColumns = toExprColumns
122−instance TableHelper 'True Insertion where
117+instance TableHelper Insertion where
123 gfromColumns = fromInsertionColumns
118 gfromColumns = fromInsertionColumns
124 gtoColumns = toInsertionColumns
119 gtoColumns = toInsertionColumns
127−instance TableHelper 'True Identity where
122+instance TableHelper Identity where
128 gfromColumns = fromIdentityColumns
123 gfromColumns = fromIdentityColumns
129 gtoColumns = toIdentityColumns
124 gtoColumns = toIdentityColumns
132−instance (IsSpecialContext context ~ 'False, Labelable context, Nullifiable context) =>
133− TableHelper 'False context
127+instance TableHelper Name where
135− gfromColumns = fromUnspecialColumns
128+ gfromColumns = fromNameColumns
136− gtoColumns = toUnspecialColumns
129+ gtoColumns = toNameColumns
139-- | This type class allows you to define custom 'Table's using higher-kinded
132-- | This type class allows you to define custom 'Table's using higher-kinded
@@ -194,16 +187,8 @@ class HTable (GRep t) => Rel8able t where
194 fromIdentityColumns :: GRep t (Col Identity) -> t Identity
187 fromIdentityColumns :: GRep t (Col Identity) -> t Identity
195 toIdentityColumns :: t Identity -> GRep t (Col Identity)
188 toIdentityColumns :: t Identity -> GRep t (Col Identity)
197− fromUnspecialColumns ::
190+ fromNameColumns :: GRep t (Col Name) -> t Name
198− ( IsSpecialContext context ~ 'False
191+ toNameColumns :: t Name -> GRep t (Col Name)
199− , Labelable context, Nullifiable context
201− => GRep t (Col context) -> t context
202− toUnspecialColumns ::
203− ( IsSpecialContext context ~ 'False
204− , Labelable context, Nullifiable context
206− => t context -> GRep t (Col context)
208 type GRep t = GColumns (Rep (t Structure))
193 type GRep t = GColumns (Rep (t Structure))
@@ -263,19 +248,19 @@ class HTable (GRep t) => Rel8able t where
263 ) => t Identity -> GRep t (Col Identity)
248 ) => t Identity -> GRep t (Col Identity)
264 toIdentityColumns = toGColumns @_ @(Rep (t Structure)) . from
249 toIdentityColumns = toGColumns @_ @(Rep (t Structure)) . from
266− default fromUnspecialColumns ::
251+ default fromNameColumns ::
267− ( Generic (t context)
252+ ( Generic (t Name)
268 , GColumns (Rep (t Structure)) ~ GRep t
253 , GColumns (Rep (t Structure)) ~ GRep t
269− , GRel8able context (Rep (t Structure)) (Rep (t context))
254+ , GRel8able Name (Rep (t Structure)) (Rep (t Name))
270− ) => GRep t (Col context) -> t context
255+ ) => GRep t (Col Name) -> t Name
271− fromUnspecialColumns = to . fromGColumns @_ @(Rep (t Structure))
256+ fromNameColumns = to . fromGColumns @_ @(Rep (t Structure))
273− default toUnspecialColumns ::
258+ default toNameColumns ::
274− ( Generic (t context)
259+ ( Generic (t Name)
275 , GColumns (Rep (t Structure)) ~ GRep t
260 , GColumns (Rep (t Structure)) ~ GRep t
276− , GRel8able context (Rep (t Structure)) (Rep (t context))
261+ , GRel8able Name (Rep (t Structure)) (Rep (t Name))
277− ) => t context -> GRep t (Col context)
262+ ) => t Name -> GRep t (Col Name)
278− toUnspecialColumns = toGColumns @_ @(Rep (t Structure)) . from
263+ toNameColumns = toGColumns @_ @(Rep (t Structure)) . from
281type GColumns :: (Type -> Type) -> K.HTable
266type GColumns :: (Type -> Type) -> K.HTable
@@ -316,14 +301,14 @@ instance (GRel8able context structure1 rep1, GRel8able context structure2 rep2)
319− ( K1Table label isSpecialContext context isStructure structure a
304+ ( K1Table label context isStructure structure a
320 , meta ~ 'MetaSel ('Just label) _su _ss _ds
305 , meta ~ 'MetaSel ('Just label) _su _ss _ds
321 , structureK1 ~ K1 i structure
306 , structureK1 ~ K1 i structure
322 , k1 ~ K1 i a
307 , k1 ~ K1 i a
323 ) => GRel8able context (M1 S meta structureK1) (M1 S meta k1)
308 ) => GRel8able context (M1 S meta structureK1) (M1 S meta k1)
325− fromGColumns = M1 . K1 . fromK1Columns @label @_ @_ @_ @structure
310+ fromGColumns = M1 . K1 . fromK1Columns @label @_ @_ @structure
326− toGColumns (M1 (K1 a)) = toK1Columns @label @_ @_ @_ @structure a
311+ toGColumns (M1 (K1 a)) = toK1Columns @label @_ @_ @structure a
329type K1Columns :: Symbol -> Type -> K.HTable
314type K1Columns :: Symbol -> Type -> K.HTable
@@ -368,11 +353,9 @@ type family K1Columns label structure where
368 K1Columns label a = HLabel label (Columns a)
353 K1Columns label a = HLabel label (Columns a)
371−type K1Table :: Symbol -> Bool -> K.Context -> Bool -> Type -> Type -> Constraint
356+type K1Table :: Symbol -> K.Context -> Bool -> Type -> Type -> Constraint
373− ( isSpecialContext ~ IsSpecialContext context
374− , isStructure ~ IsStructure structure
357+class isStructure ~ IsStructure structure =>
375− ) => K1Table label isSpecialContext context isStructure structure a
358+ K1Table label context isStructure structure a
377 fromK1Columns :: K1Columns label structure (Col context) -> a
360 fromK1Columns :: K1Columns label structure (Col context) -> a
378 toK1Columns :: a -> K1Columns label structure (Col context)
361 toK1Columns :: a -> K1Columns label structure (Col context)
@@ -380,7 +363,7 @@ class
382 ( x ~ Field Aggregate '[] necessity db a
365 ( x ~ Field Aggregate '[] necessity db a
383− ) => K1Table label 'True Aggregate 'True (Shape1 'Column ('Spec '[] necessity db a)) x
366+ ) => K1Table label Aggregate 'True (Shape1 'Column ('Spec '[] necessity db a)) x
385 fromK1Columns (HIdentity (Aggregation a)) = a
368 fromK1Columns (HIdentity (Aggregation a)) = a
386 toK1Columns = HIdentity . Aggregation
369 toK1Columns = HIdentity . Aggregation
@@ -390,7 +373,7 @@ instance
392 ( x ~ Field Aggregate (label ': labels) necessity db a
375 ( x ~ Field Aggregate (label ': labels) necessity db a
393− ) => K1Table _label 'True Aggregate 'True (Shape1 'Column ('Spec (label ': labels) necessity db a)) x
376+ ) => K1Table _label Aggregate 'True (Shape1 'Column ('Spec (label ': labels) necessity db a)) x
395 fromK1Columns (HIdentity (Aggregation a)) = a
378 fromK1Columns (HIdentity (Aggregation a)) = a
396 toK1Columns = HIdentity . Aggregation
379 toK1Columns = HIdentity . Aggregation
@@ -400,7 +383,7 @@ instance
402 ( x ~ Field Expr '[] necessity db a
385 ( x ~ Field Expr '[] necessity db a
403− ) => K1Table label 'True Expr 'True (Shape1 'Column ('Spec '[] necessity db a)) x
386+ ) => K1Table label Expr 'True (Shape1 'Column ('Spec '[] necessity db a)) x
405 fromK1Columns (HIdentity (DB a)) = a
388 fromK1Columns (HIdentity (DB a)) = a
406 toK1Columns = HIdentity . DB
389 toK1Columns = HIdentity . DB
@@ -410,7 +393,7 @@ instance
412 ( x ~ Field Expr (label ': labels) necessity db a
395 ( x ~ Field Expr (label ': labels) necessity db a
413− ) => K1Table _label 'True Expr 'True (Shape1 'Column ('Spec (label ': labels) necessity db a)) x
396+ ) => K1Table _label Expr 'True (Shape1 'Column ('Spec (label ': labels) necessity db a)) x
415 fromK1Columns (HIdentity (DB a)) = a
398 fromK1Columns (HIdentity (DB a)) = a
416 toK1Columns = HIdentity . DB
399 toK1Columns = HIdentity . DB
@@ -421,7 +404,7 @@ instance
422 ( x ~ Field Insertion '[] necessity db a
405 ( x ~ Field Insertion '[] necessity db a
423 , KnownNecessity necessity
406 , KnownNecessity necessity
424− ) => K1Table label 'True Insertion 'True (Shape1 'Column ('Spec '[] necessity db a)) x
407+ ) => K1Table label Insertion 'True (Shape1 'Column ('Spec '[] necessity db a)) x
426 fromK1Columns (HIdentity insert) = case insert of
409 fromK1Columns (HIdentity insert) = case insert of
427 RequiredInsert a -> a
410 RequiredInsert a -> a
@@ -436,7 +419,7 @@ instance
437 ( x ~ Field Insertion (label ': labels) necessity db a
420 ( x ~ Field Insertion (label ': labels) necessity db a
438 , KnownNecessity necessity
421 , KnownNecessity necessity
439− ) => K1Table _label 'True Insertion 'True (Shape1 'Column ('Spec (label ': labels) necessity db a)) x
422+ ) => K1Table _label Insertion 'True (Shape1 'Column ('Spec (label ': labels) necessity db a)) x
441 fromK1Columns (HIdentity insert) = case insert of
424 fromK1Columns (HIdentity insert) = case insert of
442 RequiredInsert a -> a
425 RequiredInsert a -> a
@@ -450,7 +433,7 @@ instance
452 ( x ~ Field Identity '[] necessity db a
435 ( x ~ Field Identity '[] necessity db a
453− ) => K1Table label 'True Identity 'True (Shape1 'Column ('Spec '[] necessity db a)) x
436+ ) => K1Table label Identity 'True (Shape1 'Column ('Spec '[] necessity db a)) x
455 fromK1Columns (HIdentity (Result a)) = a
438 fromK1Columns (HIdentity (Result a)) = a
456 toK1Columns = HIdentity . Result
439 toK1Columns = HIdentity . Result
@@ -460,7 +443,7 @@ instance
462 ( x ~ Field Identity (label ': labels) necessity db a
445 ( x ~ Field Identity (label ': labels) necessity db a
463− ) => K1Table _label 'True Identity 'True (Shape1 'Column ('Spec (label ': labels) necessity db a)) x
446+ ) => K1Table _label Identity 'True (Shape1 'Column ('Spec (label ': labels) necessity db a)) x
465 fromK1Columns (HIdentity (Result a)) = a
448 fromK1Columns (HIdentity (Result a)) = a
466 toK1Columns = HIdentity . Result
449 toK1Columns = HIdentity . Result
@@ -469,24 +452,21 @@ instance
472− ( IsSpecialContext context ~ 'False
455+ ( x ~ Field Name '[] necessity db a
474− ) => K1Table _label 'False context 'True (Shape1 'Column ('Spec (label ': labels) necessity db a)) x
456+ ) => K1Table _label Name 'True (Shape1 'Column ('Spec (label ': labels) necessity db a)) x
476− fromK1Columns (HIdentity (Col a)) = a
458+ fromK1Columns (HIdentity (NameCol a)) = Name a
477− toK1Columns = HIdentity . Col
459+ toK1Columns (Name a) = HIdentity (NameCol a)
478 {-# INLINABLE fromK1Columns #-}
460 {-# INLINABLE fromK1Columns #-}
479 {-# INLINABLE toK1Columns #-}
461 {-# INLINABLE toK1Columns #-}
483− ( IsSpecialContext context ~ 'False
465+ ( x ~ Field Name (label ': labels) necessity db a
486− ) => K1Table label 'False context 'True (Shape1 'Column ('Spec '[] necessity db a)) x
466+ ) => K1Table label Name 'True (Shape1 'Column ('Spec '[] necessity db a)) x
488− fromK1Columns = (\(Col a) -> a) . unlabeler . unHIdentity
468+ fromK1Columns = Name . (\(NameCol a) -> a) . unlabeler . unHIdentity
489− toK1Columns = HIdentity . labeler . Col
469+ toK1Columns = HIdentity . labeler . NameCol . (\(Name a) -> a)
490 {-# INLINABLE fromK1Columns #-}
470 {-# INLINABLE fromK1Columns #-}
491 {-# INLINABLE toK1Columns #-}
471 {-# INLINABLE toK1Columns #-}
@@ -494,21 +474,21 @@ instance
495 ( HTable (K1Columns "Left" structure1)
475 ( HTable (K1Columns "Left" structure1)
496 , HTable (K1Columns "Right" structure2)
476 , HTable (K1Columns "Right" structure2)
497− , K1Table "Left" 'True Aggregate (IsStructure structure1) structure1 a
477+ , K1Table "Left" Aggregate (IsStructure structure1) structure1 a
498− , K1Table "Right" 'True Aggregate (IsStructure structure2) structure2 b
478+ , K1Table "Right" Aggregate (IsStructure structure2) structure2 b
499 , e ~ EitherTable a b
479 , e ~ EitherTable a b
500− ) => K1Table label 'True Aggregate 'True (Shape2 'Either structure1 structure2) e
480+ ) => K1Table label Aggregate 'True (Shape2 'Either structure1 structure2) e
502 fromK1Columns =
482 fromK1Columns =
503 fromColumns2
483 fromColumns2
504− (fromK1Columns @"Left" @_ @_ @_ @structure1)
484+ (fromK1Columns @"Left" @_ @_ @structure1)
505− (fromK1Columns @"Right" @_ @_ @_ @structure2) .
485+ (fromK1Columns @"Right" @_ @_ @structure2) .
506 hunlabel unlabeler
486 hunlabel unlabeler
507 toK1Columns =
487 toK1Columns =
508 hlabel labeler .
488 hlabel labeler .
509 toColumns2
489 toColumns2
510− (toK1Columns @"Left" @_ @_ @_ @structure1)
490+ (toK1Columns @"Left" @_ @_ @structure1)
511− (toK1Columns @"Right" @_ @_ @_ @structure2)
491+ (toK1Columns @"Right" @_ @_ @structure2)
512 {-# INLINABLE fromK1Columns #-}
492 {-# INLINABLE fromK1Columns #-}
513 {-# INLINABLE toK1Columns #-}
493 {-# INLINABLE toK1Columns #-}
@@ -516,21 +496,21 @@ instance
517 ( HTable (K1Columns "Left" structure1)
497 ( HTable (K1Columns "Left" structure1)
518 , HTable (K1Columns "Right" structure2)
498 , HTable (K1Columns "Right" structure2)
519− , K1Table "Left" 'True Expr (IsStructure structure1) structure1 a
499+ , K1Table "Left" Expr (IsStructure structure1) structure1 a
520− , K1Table "Right" 'True Expr (IsStructure structure2) structure2 b
500+ , K1Table "Right" Expr (IsStructure structure2) structure2 b
521 , e ~ EitherTable a b
501 , e ~ EitherTable a b
522− ) => K1Table label 'True Expr 'True (Shape2 'Either structure1 structure2) e
502+ ) => K1Table label Expr 'True (Shape2 'Either structure1 structure2) e
524 fromK1Columns =
504 fromK1Columns =
525 fromColumns2
505 fromColumns2
526− (fromK1Columns @"Left" @_ @_ @_ @structure1)
506+ (fromK1Columns @"Left" @_ @_ @structure1)
527− (fromK1Columns @"Right" @_ @_ @_ @structure2) .
507+ (fromK1Columns @"Right" @_ @_ @structure2) .
528 hunlabel unlabeler
508 hunlabel unlabeler
529 toK1Columns =
509 toK1Columns =
530 hlabel labeler .
510 hlabel labeler .
531 toColumns2
511 toColumns2
532− (toK1Columns @"Left" @_ @_ @_ @structure1)
512+ (toK1Columns @"Left" @_ @_ @structure1)
533− (toK1Columns @"Right" @_ @_ @_ @structure2)
513+ (toK1Columns @"Right" @_ @_ @structure2)
534 {-# INLINABLE fromK1Columns #-}
514 {-# INLINABLE fromK1Columns #-}
535 {-# INLINABLE toK1Columns #-}
515 {-# INLINABLE toK1Columns #-}
@@ -538,21 +518,21 @@ instance
539 ( HTable (K1Columns "Left" structure1)
519 ( HTable (K1Columns "Left" structure1)
540 , HTable (K1Columns "Right" structure2)
520 , HTable (K1Columns "Right" structure2)
541− , K1Table "Left" 'True Insertion (IsStructure structure1) structure1 a
521+ , K1Table "Left" Insertion (IsStructure structure1) structure1 a
542− , K1Table "Right" 'True Insertion (IsStructure structure2) structure2 b
522+ , K1Table "Right" Insertion (IsStructure structure2) structure2 b
543 , e ~ EitherTable a b
523 , e ~ EitherTable a b
544− ) => K1Table label 'True Insertion 'True (Shape2 'Either structure1 structure2) e
524+ ) => K1Table label Insertion 'True (Shape2 'Either structure1 structure2) e
546 fromK1Columns =
526 fromK1Columns =
547 fromColumns2
527 fromColumns2
548− (fromK1Columns @"Left" @_ @_ @_ @structure1)
528+ (fromK1Columns @"Left" @_ @_ @structure1)
549− (fromK1Columns @"Right" @_ @_ @_ @structure2) .
529+ (fromK1Columns @"Right" @_ @_ @structure2) .
550 hunlabel unlabeler
530 hunlabel unlabeler
551 toK1Columns =
531 toK1Columns =
552 hlabel labeler .
532 hlabel labeler .
553 toColumns2
533 toColumns2
554− (toK1Columns @"Left" @_ @_ @_ @structure1)
534+ (toK1Columns @"Left" @_ @_ @structure1)
555− (toK1Columns @"Right" @_ @_ @_ @structure2)
535+ (toK1Columns @"Right" @_ @_ @structure2)
556 {-# INLINABLE fromK1Columns #-}
536 {-# INLINABLE fromK1Columns #-}
557 {-# INLINABLE toK1Columns #-}
537 {-# INLINABLE toK1Columns #-}
@@ -560,23 +540,23 @@ instance
561 ( HTable (K1Columns "Left" structure1)
541 ( HTable (K1Columns "Left" structure1)
562 , HTable (K1Columns "Right" structure2)
542 , HTable (K1Columns "Right" structure2)
563− , K1Table "Left" 'True Identity (IsStructure structure1) structure1 a
543+ , K1Table "Left" Identity (IsStructure structure1) structure1 a
564− , K1Table "Right" 'True Identity (IsStructure structure2) structure2 b
544+ , K1Table "Right" Identity (IsStructure structure2) structure2 b
565 , e ~ Either a b
545 , e ~ Either a b
566− ) => K1Table label 'True Identity 'True (Shape2 'Either structure1 structure2) e
546+ ) => K1Table label Identity 'True (Shape2 'Either structure1 structure2) e
568 fromK1Columns
548 fromK1Columns
570− (fromK1Columns @"Left" @_ @_ @_ @structure1)
550+ (fromK1Columns @"Left" @_ @_ @structure1)
571− (fromK1Columns @"Right" @_ @_ @_ @structure2)
551+ (fromK1Columns @"Right" @_ @_ @structure2)
572 . fromHEitherTable
552 . fromHEitherTable
573 . hunlabel unlabeler
553 . hunlabel unlabeler
574 toK1Columns
554 toK1Columns
575 = hlabel labeler
555 = hlabel labeler
576 . toHEitherTable
556 . toHEitherTable
578− (toK1Columns @"Left" @_ @_ @_ @structure1)
558+ (toK1Columns @"Left" @_ @_ @structure1)
579− (toK1Columns @"Right" @_ @_ @_ @structure2)
559+ (toK1Columns @"Right" @_ @_ @structure2)
580 {-# INLINABLE fromK1Columns #-}
560 {-# INLINABLE fromK1Columns #-}
581 {-# INLINABLE toK1Columns #-}
561 {-# INLINABLE toK1Columns #-}
@@ -584,34 +564,30 @@ instance
585 ( HTable (K1Columns "Left" structure1)
565 ( HTable (K1Columns "Left" structure1)
586 , HTable (K1Columns "Right" structure2)
566 , HTable (K1Columns "Right" structure2)
587− , K1Table "Left" 'False context (IsStructure structure1) structure1 a
567+ , K1Table "Left" Name (IsStructure structure1) structure1 a
588− , K1Table "Right" 'False context (IsStructure structure2) structure2 b
568+ , K1Table "Right" Name (IsStructure structure2) structure2 b
589− , IsSpecialContext context ~ 'False
591− , Nullifiable context
592 , e ~ EitherTable a b
569 , e ~ EitherTable a b
593− ) => K1Table label 'False context 'True (Shape2 'Either structure1 structure2) e
570+ ) => K1Table label Name 'True (Shape2 'Either structure1 structure2) e
595 fromK1Columns =
572 fromK1Columns =
596 fromColumns2
573 fromColumns2
597− (fromK1Columns @"Left" @_ @_ @_ @structure1)
574+ (fromK1Columns @"Left" @_ @_ @structure1)
598− (fromK1Columns @"Right" @_ @_ @_ @structure2) .
575+ (fromK1Columns @"Right" @_ @_ @structure2) .
599 hunlabel unlabeler
576 hunlabel unlabeler
600 toK1Columns =
577 toK1Columns =
601 hlabel labeler .
578 hlabel labeler .
602 toColumns2
579 toColumns2
603− (toK1Columns @"Left" @_ @_ @_ @structure1)
580+ (toK1Columns @"Left" @_ @_ @structure1)
604− (toK1Columns @"Right" @_ @_ @_ @structure2)
581+ (toK1Columns @"Right" @_ @_ @structure2)
605 {-# INLINABLE fromK1Columns #-}
582 {-# INLINABLE fromK1Columns #-}
606 {-# INLINABLE toK1Columns #-}
583 {-# INLINABLE toK1Columns #-}
610− ( K1Table label 'True Aggregate (IsStructure structure) structure a
611− , Table Aggregate a
587+ ( Table Aggregate a
612 , K1Columns label structure ~ HLabel label (Columns a)
588 , K1Columns label structure ~ HLabel label (Columns a)
613 , as ~ ListTable a
589 , as ~ ListTable a
614− ) => K1Table label 'True Aggregate 'True (Shape1 'List structure) as
590+ ) => K1Table label Aggregate 'True (Shape1 'List structure) as
616 fromK1Columns = fromColumns . hrelabel (hunlabel hunlabeler)
592 fromK1Columns = fromColumns . hrelabel (hunlabel hunlabeler)
617 toK1Columns = hrelabel (hlabel hlabeler) . toColumns
593 toK1Columns = hrelabel (hlabel hlabeler) . toColumns
@@ -620,11 +596,10 @@ instance
623− ( K1Table label 'True Expr (IsStructure structure) structure a
624− , Table Expr a
599+ ( Table Expr a
625 , K1Columns label structure ~ HLabel label (Columns a)
600 , K1Columns label structure ~ HLabel label (Columns a)
626 , as ~ ListTable a
601 , as ~ ListTable a
627− ) => K1Table label 'True Expr 'True (Shape1 'List structure) as
602+ ) => K1Table label Expr 'True (Shape1 'List structure) as
629 fromK1Columns = fromColumns . hrelabel (hunlabel hunlabeler)
604 fromK1Columns = fromColumns . hrelabel (hunlabel hunlabeler)
630 toK1Columns = hrelabel (hlabel hlabeler) . toColumns
605 toK1Columns = hrelabel (hlabel hlabeler) . toColumns
@@ -633,11 +608,10 @@ instance
636− ( K1Table label 'True Insertion (IsStructure structure) structure a
637− , Table Insertion a
611+ ( Table Insertion a
638 , K1Columns label structure ~ HLabel label (Columns a)
612 , K1Columns label structure ~ HLabel label (Columns a)
639 , as ~ ListTable a
613 , as ~ ListTable a
640− ) => K1Table label 'True Insertion 'True (Shape1 'List structure) as
614+ ) => K1Table label Insertion 'True (Shape1 'List structure) as
642 fromK1Columns = fromColumns . hrelabel (hunlabel hunlabeler)
616 fromK1Columns = fromColumns . hrelabel (hunlabel hunlabeler)
643 toK1Columns = hrelabel (hlabel hlabeler) . toColumns
617 toK1Columns = hrelabel (hlabel hlabeler) . toColumns
@@ -646,25 +620,22 @@ instance
649− ( K1Table label 'True Identity (IsStructure structure) structure a
623+ ( K1Table label Identity (IsStructure structure) structure a
650 , HTable (K1Columns label structure)
624 , HTable (K1Columns label structure)
651 , as ~ [a]
625 , as ~ [a]
652− ) => K1Table label 'True Identity 'True (Shape1 'List structure) as
626+ ) => K1Table label Identity 'True (Shape1 'List structure) as
654− fromK1Columns = fmap (fromK1Columns @label @'True @Identity @_ @structure) . fromHListTable
628+ fromK1Columns = fmap (fromK1Columns @label @_ @_ @structure) . fromHListTable
655− toK1Columns = toHListTable . fmap (toK1Columns @label @'True @Identity @_ @structure)
629+ toK1Columns = toHListTable . fmap (toK1Columns @label @_ @_ @structure)
656 {-# INLINABLE fromK1Columns #-}
630 {-# INLINABLE fromK1Columns #-}
657 {-# INLINABLE toK1Columns #-}
631 {-# INLINABLE toK1Columns #-}
661− ( K1Table label 'False context (IsStructure structure) structure a
662− , IsSpecialContext context ~ 'False
663− , Table context a
635+ ( Table Name a
664 , K1Columns label structure ~ HLabel label (Columns a)
636 , K1Columns label structure ~ HLabel label (Columns a)
666 , as ~ ListTable a
637 , as ~ ListTable a
667− ) => K1Table label 'False context 'True (Shape1 'List structure) as
638+ ) => K1Table label Name 'True (Shape1 'List structure) as
669 fromK1Columns = fromColumns . hrelabel (hunlabel hunlabeler)
640 fromK1Columns = fromColumns . hrelabel (hunlabel hunlabeler)
670 toK1Columns = hrelabel (hlabel hlabeler) . toColumns
641 toK1Columns = hrelabel (hlabel hlabeler) . toColumns
@@ -674,95 +645,91 @@ instance
676 ( HTable (K1Columns "Just" structure)
647 ( HTable (K1Columns "Just" structure)
677− , K1Table "Just" 'True Aggregate (IsStructure structure) structure a
648+ , K1Table "Just" Aggregate (IsStructure structure) structure a
678 , ma ~ MaybeTable a
649 , ma ~ MaybeTable a
679− ) => K1Table label 'True Aggregate 'True (Shape1 'Maybe structure) ma
650+ ) => K1Table label Aggregate 'True (Shape1 'Maybe structure) ma
681 fromK1Columns =
652 fromK1Columns =
682− fromColumns1 (fromK1Columns @"Just" @_ @_ @_ @structure) .
653+ fromColumns1 (fromK1Columns @"Just" @_ @_ @structure) .
683 hunlabel unlabeler
654 hunlabel unlabeler
684 toK1Columns =
655 toK1Columns =
685 hlabel labeler .
656 hlabel labeler .
686− toColumns1 (toK1Columns @"Just" @_ @_ @_ @structure)
657+ toColumns1 (toK1Columns @"Just" @_ @_ @structure)
687 {-# INLINABLE fromK1Columns #-}
658 {-# INLINABLE fromK1Columns #-}
688 {-# INLINABLE toK1Columns #-}
659 {-# INLINABLE toK1Columns #-}
692 ( HTable (K1Columns "Just" structure)
663 ( HTable (K1Columns "Just" structure)
693− , K1Table "Just" 'True Expr (IsStructure structure) structure a
664+ , K1Table "Just" Expr (IsStructure structure) structure a
694 , ma ~ MaybeTable a
665 , ma ~ MaybeTable a
695− ) => K1Table label 'True Expr 'True (Shape1 'Maybe structure) ma
666+ ) => K1Table label Expr 'True (Shape1 'Maybe structure) ma
697 fromK1Columns =
668 fromK1Columns =
698− fromColumns1 (fromK1Columns @"Just" @_ @_ @_ @structure) .
669+ fromColumns1 (fromK1Columns @"Just" @_ @_ @structure) .
699 hunlabel unlabeler
670 hunlabel unlabeler
700 toK1Columns =
671 toK1Columns =
701 hlabel labeler .
672 hlabel labeler .
702− toColumns1 (toK1Columns @"Just" @_ @_ @_ @structure)
673+ toColumns1 (toK1Columns @"Just" @_ @_ @structure)
703 {-# INLINABLE fromK1Columns #-}
674 {-# INLINABLE fromK1Columns #-}
704 {-# INLINABLE toK1Columns #-}
675 {-# INLINABLE toK1Columns #-}
708 ( HTable (K1Columns "Just" structure)
679 ( HTable (K1Columns "Just" structure)
709− , K1Table "Just" 'True Insertion (IsStructure structure) structure a
680+ , K1Table "Just" Insertion (IsStructure structure) structure a
710 , ma ~ MaybeTable a
681 , ma ~ MaybeTable a
711− ) => K1Table label 'True Insertion 'True (Shape1 'Maybe structure) ma
682+ ) => K1Table label Insertion 'True (Shape1 'Maybe structure) ma
713 fromK1Columns =
684 fromK1Columns =
714− fromColumns1 (fromK1Columns @"Just" @_ @_ @_ @structure) .
685+ fromColumns1 (fromK1Columns @"Just" @_ @_ @structure) .
715 hunlabel unlabeler
686 hunlabel unlabeler
716 toK1Columns =
687 toK1Columns =
717 hlabel labeler .
688 hlabel labeler .
718− toColumns1 (toK1Columns @"Just" @_ @_ @_ @structure)
689+ toColumns1 (toK1Columns @"Just" @_ @_ @structure)
719 {-# INLINABLE fromK1Columns #-}
690 {-# INLINABLE fromK1Columns #-}
720 {-# INLINABLE toK1Columns #-}
691 {-# INLINABLE toK1Columns #-}
724 ( HTable (K1Columns "Just" structure)
695 ( HTable (K1Columns "Just" structure)
725− , K1Table "Just" 'True Identity (IsStructure structure) structure a
696+ , K1Table "Just" Identity (IsStructure structure) structure a
726 , ma ~ Maybe a
697 , ma ~ Maybe a
727− ) => K1Table label 'True Identity 'True (Shape1 'Maybe structure) ma
698+ ) => K1Table label Identity 'True (Shape1 'Maybe structure) ma
729 fromK1Columns
700 fromK1Columns
730− = fmap (fromK1Columns @"Just" @_ @_ @_ @structure)
701+ = fmap (fromK1Columns @"Just" @_ @_ @structure)
731 . fromHMaybeTable
702 . fromHMaybeTable
732 . hunlabel unlabeler
703 . hunlabel unlabeler
733 toK1Columns
704 toK1Columns
734 = hlabel labeler
705 = hlabel labeler
735 . toHMaybeTable
706 . toHMaybeTable
736− . fmap (toK1Columns @"Just" @_ @_ @_ @structure)
707+ . fmap (toK1Columns @"Just" @_ @_ @structure)
737 {-# INLINABLE fromK1Columns #-}
708 {-# INLINABLE fromK1Columns #-}
738 {-# INLINABLE toK1Columns #-}
709 {-# INLINABLE toK1Columns #-}
742 ( HTable (K1Columns "Just" structure)
713 ( HTable (K1Columns "Just" structure)
743− , K1Table "Just" 'False context (IsStructure structure) structure a
714+ , K1Table "Just" Name (IsStructure structure) structure a
744− , IsSpecialContext context ~ 'False
746− , Nullifiable context
747 , ma ~ MaybeTable a
715 , ma ~ MaybeTable a
748− ) => K1Table label 'False context 'True (Shape1 'Maybe structure) ma
716+ ) => K1Table label Name 'True (Shape1 'Maybe structure) ma
750 fromK1Columns =
718 fromK1Columns =
751− fromColumns1 (fromK1Columns @"Just" @_ @_ @_ @structure) .
719+ fromColumns1 (fromK1Columns @"Just" @_ @_ @structure) .
752 hunlabel unlabeler
720 hunlabel unlabeler
753 toK1Columns =
721 toK1Columns =
754 hlabel labeler .
722 hlabel labeler .
755− toColumns1 (toK1Columns @"Just" @_ @_ @_ @structure)
723+ toColumns1 (toK1Columns @"Just" @_ @_ @structure)
756 {-# INLINABLE fromK1Columns #-}
724 {-# INLINABLE fromK1Columns #-}
757 {-# INLINABLE toK1Columns #-}
725 {-# INLINABLE toK1Columns #-}
761− ( K1Table label 'True Aggregate (IsStructure structure) structure a
762− , Table Aggregate a
729+ ( Table Aggregate a
763 , K1Columns label structure ~ HLabel label (Columns a)
730 , K1Columns label structure ~ HLabel label (Columns a)
764 , as ~ NonEmptyTable a
731 , as ~ NonEmptyTable a
765− ) => K1Table label 'True Aggregate 'True (Shape1 'NonEmpty structure) as
732+ ) => K1Table label Aggregate 'True (Shape1 'NonEmpty structure) as
767 fromK1Columns = fromColumns . hrelabel (hunlabel hunlabeler)
734 fromK1Columns = fromColumns . hrelabel (hunlabel hunlabeler)
768 toK1Columns = hrelabel (hlabel hlabeler) . toColumns
735 toK1Columns = hrelabel (hlabel hlabeler) . toColumns
@@ -771,11 +738,10 @@ instance
774− ( K1Table label 'True Expr (IsStructure structure) structure a
775− , Table Expr a
741+ ( Table Expr a
776 , K1Columns label structure ~ HLabel label (Columns a)
742 , K1Columns label structure ~ HLabel label (Columns a)
777 , as ~ NonEmptyTable a
743 , as ~ NonEmptyTable a
778− ) => K1Table label 'True Expr 'True (Shape1 'NonEmpty structure) as
744+ ) => K1Table label Expr 'True (Shape1 'NonEmpty structure) as
780 fromK1Columns = fromColumns . hrelabel (hunlabel hunlabeler)
746 fromK1Columns = fromColumns . hrelabel (hunlabel hunlabeler)
781 toK1Columns = hrelabel (hlabel hlabeler) . toColumns
747 toK1Columns = hrelabel (hlabel hlabeler) . toColumns
@@ -784,11 +750,10 @@ instance
787− ( K1Table label 'True Insertion (IsStructure structure) structure a
788− , Table Insertion a
753+ ( Table Insertion a
789 , K1Columns label structure ~ HLabel label (Columns a)
754 , K1Columns label structure ~ HLabel label (Columns a)
790 , as ~ NonEmptyTable a
755 , as ~ NonEmptyTable a
791− ) => K1Table label 'True Insertion 'True (Shape1 'NonEmpty structure) as
756+ ) => K1Table label Insertion 'True (Shape1 'NonEmpty structure) as
793 fromK1Columns = fromColumns . hrelabel (hunlabel hunlabeler)
758 fromK1Columns = fromColumns . hrelabel (hunlabel hunlabeler)
794 toK1Columns = hrelabel (hlabel hlabeler) . toColumns
759 toK1Columns = hrelabel (hlabel hlabeler) . toColumns
@@ -797,25 +762,22 @@ instance
800− ( K1Table label 'True Identity (IsStructure structure) structure a
765+ ( K1Table label Identity (IsStructure structure) structure a
801 , HTable (K1Columns label structure)
766 , HTable (K1Columns label structure)
802 , as ~ NonEmpty a
767 , as ~ NonEmpty a
803− ) => K1Table label 'True Identity 'True (Shape1 'NonEmpty structure) as
768+ ) => K1Table label Identity 'True (Shape1 'NonEmpty structure) as
805− fromK1Columns = fmap (fromK1Columns @label @'True @Identity @_ @structure) . fromHNonEmptyTable
770+ fromK1Columns = fmap (fromK1Columns @label @_ @_ @structure) . fromHNonEmptyTable
806− toK1Columns = toHNonEmptyTable . fmap (toK1Columns @label @'True @Identity @_ @structure)
771+ toK1Columns = toHNonEmptyTable . fmap (toK1Columns @label @_ @_ @structure)
807 {-# INLINABLE fromK1Columns #-}
772 {-# INLINABLE fromK1Columns #-}
808 {-# INLINABLE toK1Columns #-}
773 {-# INLINABLE toK1Columns #-}
812− ( K1Table label 'False context (IsStructure structure) structure a
813− , IsSpecialContext context ~ 'False
814− , Table context a
777+ ( Table Name a
815 , K1Columns label structure ~ HLabel label (Columns a)
778 , K1Columns label structure ~ HLabel label (Columns a)
817 , as ~ NonEmptyTable a
779 , as ~ NonEmptyTable a
818− ) => K1Table label 'False context 'True (Shape1 'NonEmpty structure) as
780+ ) => K1Table label Name 'True (Shape1 'NonEmpty structure) as
820 fromK1Columns = fromColumns . hrelabel (hunlabel hunlabeler)
782 fromK1Columns = fromColumns . hrelabel (hunlabel hunlabeler)
821 toK1Columns = hrelabel (hlabel hlabeler) . toColumns
783 toK1Columns = hrelabel (hlabel hlabeler) . toColumns
@@ -826,21 +788,21 @@ instance
827 ( HTable (K1Columns "Here" structure1)
789 ( HTable (K1Columns "Here" structure1)
828 , HTable (K1Columns "There" structure2)
790 , HTable (K1Columns "There" structure2)
829− , K1Table "Here" 'True Aggregate (IsStructure structure1) structure1 a
791+ , K1Table "Here" Aggregate (IsStructure structure1) structure1 a
830− , K1Table "There" 'True Aggregate (IsStructure structure2) structure2 b
792+ , K1Table "There" Aggregate (IsStructure structure2) structure2 b
831 , e ~ TheseTable a b
793 , e ~ TheseTable a b
832− ) => K1Table label 'True Aggregate 'True (Shape2 'These structure1 structure2) e
794+ ) => K1Table label Aggregate 'True (Shape2 'These structure1 structure2) e
834 fromK1Columns =
796 fromK1Columns =
835 fromColumns2
797 fromColumns2
836− (fromK1Columns @"Here" @_ @_ @_ @structure1)
798+ (fromK1Columns @"Here" @_ @_ @structure1)
837− (fromK1Columns @"There" @_ @_ @_ @structure2) .
799+ (fromK1Columns @"There" @_ @_ @structure2) .
838 hunlabel unlabeler
800 hunlabel unlabeler
839 toK1Columns =
801 toK1Columns =
840 hlabel labeler .
802 hlabel labeler .
841 toColumns2
803 toColumns2
842− (toK1Columns @"Here" @_ @_ @_ @structure1)
804+ (toK1Columns @"Here" @_ @_ @structure1)
843− (toK1Columns @"There" @_ @_ @_ @structure2)
805+ (toK1Columns @"There" @_ @_ @structure2)
844 {-# INLINABLE fromK1Columns #-}
806 {-# INLINABLE fromK1Columns #-}
845 {-# INLINABLE toK1Columns #-}
807 {-# INLINABLE toK1Columns #-}
@@ -848,21 +810,21 @@ instance
849 ( HTable (K1Columns "Here" structure1)
811 ( HTable (K1Columns "Here" structure1)
850 , HTable (K1Columns "There" structure2)
812 , HTable (K1Columns "There" structure2)
851− , K1Table "Here" 'True Expr (IsStructure structure1) structure1 a
813+ , K1Table "Here" Expr (IsStructure structure1) structure1 a
852− , K1Table "There" 'True Expr (IsStructure structure2) structure2 b
814+ , K1Table "There" Expr (IsStructure structure2) structure2 b
853 , e ~ TheseTable a b
815 , e ~ TheseTable a b
854− ) => K1Table label 'True Expr 'True (Shape2 'These structure1 structure2) e
816+ ) => K1Table label Expr 'True (Shape2 'These structure1 structure2) e
856 fromK1Columns =
818 fromK1Columns =
857 fromColumns2
819 fromColumns2
858− (fromK1Columns @"Here" @_ @_ @_ @structure1)
820+ (fromK1Columns @"Here" @_ @_ @structure1)
859− (fromK1Columns @"There" @_ @_ @_ @structure2) .
821+ (fromK1Columns @"There" @_ @_ @structure2) .
860 hunlabel unlabeler
822 hunlabel unlabeler
861 toK1Columns =
823 toK1Columns =
862 hlabel labeler .
824 hlabel labeler .
863 toColumns2
825 toColumns2
864− (toK1Columns @"Here" @_ @_ @_ @structure1)
826+ (toK1Columns @"Here" @_ @_ @structure1)
865− (toK1Columns @"There" @_ @_ @_ @structure2)
827+ (toK1Columns @"There" @_ @_ @structure2)
866 {-# INLINABLE fromK1Columns #-}
828 {-# INLINABLE fromK1Columns #-}
867 {-# INLINABLE toK1Columns #-}
829 {-# INLINABLE toK1Columns #-}
@@ -870,21 +832,21 @@ instance
871 ( HTable (K1Columns "Here" structure1)
833 ( HTable (K1Columns "Here" structure1)
872 , HTable (K1Columns "There" structure2)
834 , HTable (K1Columns "There" structure2)
873− , K1Table "Here" 'True Insertion (IsStructure structure1) structure1 a
835+ , K1Table "Here" Insertion (IsStructure structure1) structure1 a
874− , K1Table "There" 'True Insertion (IsStructure structure2) structure2 b
836+ , K1Table "There" Insertion (IsStructure structure2) structure2 b
875 , e ~ TheseTable a b
837 , e ~ TheseTable a b
876− ) => K1Table label 'True Insertion 'True (Shape2 'These structure1 structure2) e
838+ ) => K1Table label Insertion 'True (Shape2 'These structure1 structure2) e
878 fromK1Columns =
840 fromK1Columns =
879 fromColumns2
841 fromColumns2
880− (fromK1Columns @"Here" @_ @_ @_ @structure1)
842+ (fromK1Columns @"Here" @_ @_ @structure1)
881− (fromK1Columns @"There" @_ @_ @_ @structure2) .
843+ (fromK1Columns @"There" @_ @_ @structure2) .
882 hunlabel unlabeler
844 hunlabel unlabeler
883 toK1Columns =
845 toK1Columns =
884 hlabel labeler .
846 hlabel labeler .
885 toColumns2
847 toColumns2
886− (toK1Columns @"Here" @_ @_ @_ @structure1)
848+ (toK1Columns @"Here" @_ @_ @structure1)
887− (toK1Columns @"There" @_ @_ @_ @structure2)
849+ (toK1Columns @"There" @_ @_ @structure2)
888 {-# INLINABLE fromK1Columns #-}
850 {-# INLINABLE fromK1Columns #-}
889 {-# INLINABLE toK1Columns #-}
851 {-# INLINABLE toK1Columns #-}
@@ -892,23 +854,23 @@ instance
893 ( HTable (K1Columns "Here" structure1)
855 ( HTable (K1Columns "Here" structure1)
894 , HTable (K1Columns "There" structure2)
856 , HTable (K1Columns "There" structure2)
895− , K1Table "Here" 'True Identity (IsStructure structure1) structure1 a
857+ , K1Table "Here" Identity (IsStructure structure1) structure1 a
896− , K1Table "There" 'True Identity (IsStructure structure2) structure2 b
858+ , K1Table "There" Identity (IsStructure structure2) structure2 b
897 , e ~ These a b
859 , e ~ These a b
898− ) => K1Table label 'True Identity 'True (Shape2 'These structure1 structure2) e
860+ ) => K1Table label Identity 'True (Shape2 'These structure1 structure2) e
900 fromK1Columns
862 fromK1Columns
902− (fromK1Columns @"Here" @_ @_ @_ @structure1)
864+ (fromK1Columns @"Here" @_ @_ @structure1)
903− (fromK1Columns @"There" @_ @_ @_ @structure2)
865+ (fromK1Columns @"There" @_ @_ @structure2)
904 . fromHTheseTable
866 . fromHTheseTable
905 . hunlabel unlabeler
867 . hunlabel unlabeler
906 toK1Columns
868 toK1Columns
907 = hlabel labeler
869 = hlabel labeler
908 . toHTheseTable
870 . toHTheseTable
910− (toK1Columns @"Here" @_ @_ @_ @structure1)
872+ (toK1Columns @"Here" @_ @_ @structure1)
911− (toK1Columns @"There" @_ @_ @_ @structure2)
873+ (toK1Columns @"There" @_ @_ @structure2)
912 {-# INLINABLE fromK1Columns #-}
874 {-# INLINABLE fromK1Columns #-}
913 {-# INLINABLE toK1Columns #-}
875 {-# INLINABLE toK1Columns #-}
@@ -916,110 +878,106 @@ instance
917 ( HTable (K1Columns "Here" structure1)
879 ( HTable (K1Columns "Here" structure1)
918 , HTable (K1Columns "There" structure2)
880 , HTable (K1Columns "There" structure2)
919− , K1Table "Here" 'False context (IsStructure structure1) structure1 a
881+ , K1Table "Here" Name (IsStructure structure1) structure1 a
920− , K1Table "There" 'False context (IsStructure structure2) structure2 b
882+ , K1Table "There" Name (IsStructure structure2) structure2 b
921− , IsSpecialContext context ~ 'False
923− , Nullifiable context
924 , e ~ TheseTable a b
883 , e ~ TheseTable a b
925− ) => K1Table label 'False context 'True (Shape2 'These structure1 structure2) e
884+ ) => K1Table label Name 'True (Shape2 'These structure1 structure2) e
927 fromK1Columns =
886 fromK1Columns =
928 fromColumns2
887 fromColumns2
929− (fromK1Columns @"Here" @_ @_ @_ @structure1)
888+ (fromK1Columns @"Here" @_ @_ @structure1)
930− (fromK1Columns @"There" @_ @_ @_ @structure2) .
889+ (fromK1Columns @"There" @_ @_ @structure2) .
931 hunlabel unlabeler
890 hunlabel unlabeler
932 toK1Columns =
891 toK1Columns =
933 hlabel labeler .
892 hlabel labeler .
934 toColumns2
893 toColumns2
935− (toK1Columns @"Here" @_ @_ @_ @structure1)
894+ (toK1Columns @"Here" @_ @_ @structure1)
936− (toK1Columns @"There" @_ @_ @_ @structure2)
895+ (toK1Columns @"There" @_ @_ @structure2)
937 {-# INLINABLE fromK1Columns #-}
896 {-# INLINABLE fromK1Columns #-}
938 {-# INLINABLE toK1Columns #-}
897 {-# INLINABLE toK1Columns #-}
943− ( K1Table "fst" isSpecialContext context (IsStructure structure1) structure1 a1
901+ ( K1Table "fst" context (IsStructure structure1) structure1 a1
944− , K1Table "snd" isSpecialContext context (IsStructure structure2) structure2 a2
902+ , K1Table "snd" context (IsStructure structure2) structure2 a2
945 , HTable (K1Columns "fst" structure1)
903 , HTable (K1Columns "fst" structure1)
946 , HTable (K1Columns "snd" structure2)
904 , HTable (K1Columns "snd" structure2)
947 , Labelable context
905 , Labelable context
948 , a ~ (a1, a2)
906 , a ~ (a1, a2)
949− ) => K1Table label isSpecialContext context 'True (structure1, structure2) a
907+ ) => K1Table label context 'True (structure1, structure2) a
951 fromK1Columns (hunlabel unlabeler -> (HPair a b)) =
909 fromK1Columns (hunlabel unlabeler -> (HPair a b)) =
952− ( fromK1Columns @"fst" @_ @_ @_ @structure1 a
910+ ( fromK1Columns @"fst" @_ @_ @structure1 a
953− , fromK1Columns @"snd" @_ @_ @_ @structure2 b
911+ , fromK1Columns @"snd" @_ @_ @structure2 b
955 toK1Columns (a, b) = hlabel labeler $ HPair
913 toK1Columns (a, b) = hlabel labeler $ HPair
956− { hfst = toK1Columns @"fst" @_ @_ @_ @structure1 a
914+ { hfst = toK1Columns @"fst" @_ @_ @structure1 a
957− , hsnd = toK1Columns @"snd" @_ @_ @_ @structure2 b
915+ , hsnd = toK1Columns @"snd" @_ @_ @structure2 b
959 {-# INLINABLE fromK1Columns #-}
917 {-# INLINABLE fromK1Columns #-}
960 {-# INLINABLE toK1Columns #-}
918 {-# INLINABLE toK1Columns #-}
964− ( K1Table "fst" isSpecialContext context (IsStructure structure1) structure1 a1
922+ ( K1Table "fst" context (IsStructure structure1) structure1 a1
965− , K1Table "snd" isSpecialContext context (IsStructure structure2) structure2 a2
923+ , K1Table "snd" context (IsStructure structure2) structure2 a2
966− , K1Table "trd" isSpecialContext context (IsStructure structure3) structure3 a3
924+ , K1Table "trd" context (IsStructure structure3) structure3 a3
967 , HTable (K1Columns "fst" structure1)
925 , HTable (K1Columns "fst" structure1)
968 , HTable (K1Columns "snd" structure2)
926 , HTable (K1Columns "snd" structure2)
969 , HTable (K1Columns "trd" structure3)
927 , HTable (K1Columns "trd" structure3)
970 , Labelable context
928 , Labelable context
971 , a ~ (a1, a2, a3)
929 , a ~ (a1, a2, a3)
972− ) => K1Table label isSpecialContext context 'True (structure1, structure2, structure3) a
930+ ) => K1Table label context 'True (structure1, structure2, structure3) a
974 fromK1Columns (hunlabel unlabeler -> (HTrio a b c)) =
932 fromK1Columns (hunlabel unlabeler -> (HTrio a b c)) =
975− ( fromK1Columns @"fst" @_ @_ @_ @structure1 a
933+ ( fromK1Columns @"fst" @_ @_ @structure1 a
976− , fromK1Columns @"snd" @_ @_ @_ @structure2 b
934+ , fromK1Columns @"snd" @_ @_ @structure2 b
977− , fromK1Columns @"trd" @_ @_ @_ @structure3 c
935+ , fromK1Columns @"trd" @_ @_ @structure3 c
979 toK1Columns (a, b, c) = hlabel labeler $ HTrio
937 toK1Columns (a, b, c) = hlabel labeler $ HTrio
980− { hfst = toK1Columns @"fst" @_ @_ @_ @structure1 a
938+ { hfst = toK1Columns @"fst" @_ @_ @structure1 a
981− , hsnd = toK1Columns @"snd" @_ @_ @_ @structure2 b
939+ , hsnd = toK1Columns @"snd" @_ @_ @structure2 b
982− , htrd = toK1Columns @"trd" @_ @_ @_ @structure3 c
940+ , htrd = toK1Columns @"trd" @_ @_ @structure3 c
984 {-# INLINABLE fromK1Columns #-}
942 {-# INLINABLE fromK1Columns #-}
985 {-# INLINABLE toK1Columns #-}
943 {-# INLINABLE toK1Columns #-}
989− ( K1Table "fst" isSpecialContext context (IsStructure structure1) structure1 a1
947+ ( K1Table "fst" context (IsStructure structure1) structure1 a1
990− , K1Table "snd" isSpecialContext context (IsStructure structure2) structure2 a2
948+ , K1Table "snd" context (IsStructure structure2) structure2 a2
991− , K1Table "trd" isSpecialContext context (IsStructure structure3) structure3 a3
949+ , K1Table "trd" context (IsStructure structure3) structure3 a3
992− , K1Table "frt" isSpecialContext context (IsStructure structure3) structure4 a4
950+ , K1Table "frt" context (IsStructure structure3) structure4 a4
993 , HTable (K1Columns "fst" structure1)
951 , HTable (K1Columns "fst" structure1)
994 , HTable (K1Columns "snd" structure2)
952 , HTable (K1Columns "snd" structure2)
995 , HTable (K1Columns "trd" structure3)
953 , HTable (K1Columns "trd" structure3)
996 , HTable (K1Columns "frt" structure4)
954 , HTable (K1Columns "frt" structure4)
997 , Labelable context
955 , Labelable context
998 , a ~ (a1, a2, a3, a4)
956 , a ~ (a1, a2, a3, a4)
999− ) => K1Table label isSpecialContext context 'True (structure1, structure2, structure3, structure4) a
957+ ) => K1Table label context 'True (structure1, structure2, structure3, structure4) a
1001 fromK1Columns (hunlabel unlabeler -> (HQuartet a b c d)) =
959 fromK1Columns (hunlabel unlabeler -> (HQuartet a b c d)) =
1002− ( fromK1Columns @"fst" @_ @_ @_ @structure1 a
960+ ( fromK1Columns @"fst" @_ @_ @structure1 a
1003− , fromK1Columns @"snd" @_ @_ @_ @structure2 b
961+ , fromK1Columns @"snd" @_ @_ @structure2 b
1004− , fromK1Columns @"trd" @_ @_ @_ @structure3 c
962+ , fromK1Columns @"trd" @_ @_ @structure3 c
1005− , fromK1Columns @"frt" @_ @_ @_ @structure4 d
963+ , fromK1Columns @"frt" @_ @_ @structure4 d
1007 toK1Columns (a, b, c, d) = hlabel labeler $ HQuartet
965 toK1Columns (a, b, c, d) = hlabel labeler $ HQuartet
1008− { hfst = toK1Columns @"fst" @_ @_ @_ @structure1 a
966+ { hfst = toK1Columns @"fst" @_ @_ @structure1 a
1009− , hsnd = toK1Columns @"snd" @_ @_ @_ @structure2 b
967+ , hsnd = toK1Columns @"snd" @_ @_ @structure2 b
1010− , htrd = toK1Columns @"trd" @_ @_ @_ @structure3 c
968+ , htrd = toK1Columns @"trd" @_ @_ @structure3 c
1011− , hfrt = toK1Columns @"frt" @_ @_ @_ @structure4 d
969+ , hfrt = toK1Columns @"frt" @_ @_ @structure4 d
1013 {-# INLINABLE fromK1Columns #-}
971 {-# INLINABLE fromK1Columns #-}
1014 {-# INLINABLE toK1Columns #-}
972 {-# INLINABLE toK1Columns #-}
1018− ( K1Table "fst" isSpecialContext context (IsStructure structure1) structure1 a1
976+ ( K1Table "fst" context (IsStructure structure1) structure1 a1
1019− , K1Table "snd" isSpecialContext context (IsStructure structure2) structure2 a2
977+ , K1Table "snd" context (IsStructure structure2) structure2 a2
1020− , K1Table "trd" isSpecialContext context (IsStructure structure3) structure3 a3
978+ , K1Table "trd" context (IsStructure structure3) structure3 a3
1021− , K1Table "frt" isSpecialContext context (IsStructure structure3) structure4 a4
979+ , K1Table "frt" context (IsStructure structure3) structure4 a4
1022− , K1Table "fft" isSpecialContext context (IsStructure structure3) structure5 a5
980+ , K1Table "fft" context (IsStructure structure3) structure5 a5
1023 , HTable (K1Columns "fst" structure1)
981 , HTable (K1Columns "fst" structure1)
1024 , HTable (K1Columns "snd" structure2)
982 , HTable (K1Columns "snd" structure2)
1025 , HTable (K1Columns "trd" structure3)
983 , HTable (K1Columns "trd" structure3)
@@ -1027,34 +985,33 @@ instance
1027 , HTable (K1Columns "fft" structure5)
985 , HTable (K1Columns "fft" structure5)
1028 , Labelable context
986 , Labelable context
1029 , a ~ (a1, a2, a3, a4, a5)
987 , a ~ (a1, a2, a3, a4, a5)
1030− ) => K1Table label isSpecialContext context 'True (structure1, structure2, structure3, structure4, structure5) a
988+ ) => K1Table label context 'True (structure1, structure2, structure3, structure4, structure5) a
1032 fromK1Columns (hunlabel unlabeler -> (HQuintet a b c d e)) =
990 fromK1Columns (hunlabel unlabeler -> (HQuintet a b c d e)) =
1033− ( fromK1Columns @"fst" @_ @_ @_ @structure1 a
991+ ( fromK1Columns @"fst" @_ @_ @structure1 a
1034− , fromK1Columns @"snd" @_ @_ @_ @structure2 b
992+ , fromK1Columns @"snd" @_ @_ @structure2 b
1035− , fromK1Columns @"trd" @_ @_ @_ @structure3 c
993+ , fromK1Columns @"trd" @_ @_ @structure3 c
1036− , fromK1Columns @"frt" @_ @_ @_ @structure4 d
994+ , fromK1Columns @"frt" @_ @_ @structure4 d
1037− , fromK1Columns @"fft" @_ @_ @_ @structure5 e
995+ , fromK1Columns @"fft" @_ @_ @structure5 e
1039 toK1Columns (a, b, c, d, e) = hlabel labeler $ HQuintet
997 toK1Columns (a, b, c, d, e) = hlabel labeler $ HQuintet
1040− { hfst = toK1Columns @"fst" @_ @_ @_ @structure1 a
998+ { hfst = toK1Columns @"fst" @_ @_ @structure1 a
1041− , hsnd = toK1Columns @"snd" @_ @_ @_ @structure2 b
999+ , hsnd = toK1Columns @"snd" @_ @_ @structure2 b
1042− , htrd = toK1Columns @"trd" @_ @_ @_ @structure3 c
1000+ , htrd = toK1Columns @"trd" @_ @_ @structure3 c
1043− , hfrt = toK1Columns @"frt" @_ @_ @_ @structure4 d
1001+ , hfrt = toK1Columns @"frt" @_ @_ @structure4 d
1044− , hfft = toK1Columns @"fft" @_ @_ @_ @structure5 e
1002+ , hfft = toK1Columns @"fft" @_ @_ @structure5 e
1046 {-# INLINABLE fromK1Columns #-}
1004 {-# INLINABLE fromK1Columns #-}
1047 {-# INLINABLE toK1Columns #-}
1005 {-# INLINABLE toK1Columns #-}
1051− ( IsSpecialContext context ~ isSpecialContext
1052− , IsStructure structure ~ 'False
1009+ ( IsStructure structure ~ 'False
1053 , K1Columns label structure ~ HLabel label (Columns structure)
1010 , K1Columns label structure ~ HLabel label (Columns structure)
1054 , Columns structure ~ Columns a
1011 , Columns structure ~ Columns a
1055 , Labelable context
1012 , Labelable context
1056 , Table context a
1013 , Table context a
1057− ) => K1Table label isSpecialContext context 'False structure a
1014+ ) => K1Table label context 'False structure a
1059 fromK1Columns = fromColumns . hunlabel unlabeler
1016 fromK1Columns = fromColumns . hunlabel unlabeler
1060 toK1Columns = hlabel labeler . toColumns
1017 toK1Columns = hlabel labeler . toColumns