@@ -54,7 +54,6 @@ import Rel8.Schema.Context.Label
5454 ( Labelable, labeler, unlabeler
5555 , hlabeler, hunlabeler
5656 )
57−import Rel8.Schema.Context.Nullify ( Nullifiable )
5857import Rel8.Schema.Field ( Field )
5958import Rel8.Schema.HTable ( HTable )
6059import Rel8.Schema.HTable.Either ( HEitherTable )
@@ -92,48 +91,42 @@ import Rel8.Table.These ( TheseTable )
9291import Data.These ( These )
9392
9493
95−instance (Rel8able t, TableHelper (IsSpecialContext context) context) =>
96− Table context (t context)
97− where
94+instance (Rel8able t, TableHelper context) => Table context (t context) where
9895 type Columns (t context) = GRep t
9996 type Context (t context) = context
10097 fromColumns = gfromColumns
10198 toColumns = gtoColumns
10299
103100
104−type TableHelper :: Bool -> K.Context -> Constraint
105−class IsSpecialContext context ~ isSpecialContext =>
106− TableHelper isSpecialContext context
107− where
101+type TableHelper :: K.Context -> Constraint
102+class TableHelper context where
108103 gfromColumns :: Rel8able t => GRep t (Col context) -> t context
109104 gtoColumns :: Rel8able t => t context -> GRep t (Col context)
110105
111106
112−instance TableHelper 'True Aggregate where
107+instance TableHelper Aggregate where
113108 gfromColumns = fromAggregateColumns
114109 gtoColumns = toAggregateColumns
115110
116111
117−instance TableHelper 'True Expr where
112+instance TableHelper Expr where
118113 gfromColumns = fromExprColumns
119114 gtoColumns = toExprColumns
120115
121116
122−instance TableHelper 'True Insertion where
117+instance TableHelper Insertion where
123118 gfromColumns = fromInsertionColumns
124119 gtoColumns = toInsertionColumns
125120
126121
127−instance TableHelper 'True Identity where
122+instance TableHelper Identity where
128123 gfromColumns = fromIdentityColumns
129124 gtoColumns = toIdentityColumns
130125
131126
132−instance (IsSpecialContext context ~ 'False, Labelable context, Nullifiable context) =>
133− TableHelper 'False context
134− where
135− gfromColumns = fromUnspecialColumns
136− gtoColumns = toUnspecialColumns
127+instance TableHelper Name where
128+ gfromColumns = fromNameColumns
129+ gtoColumns = toNameColumns
137130
138131
139132-- | This type class allows you to define custom 'Table's using higher-kinded
@@ -194,16 +187,8 @@ class HTable (GRep t) => Rel8able t where
194187 fromIdentityColumns :: GRep t (Col Identity) -> t Identity
195188 toIdentityColumns :: t Identity -> GRep t (Col Identity)
196189
197− fromUnspecialColumns ::
198− ( IsSpecialContext context ~ 'False
199− , Labelable context, Nullifiable context
200− )
201− => GRep t (Col context) -> t context
202− toUnspecialColumns ::
203− ( IsSpecialContext context ~ 'False
204− , Labelable context, Nullifiable context
205− )
206− => t context -> GRep t (Col context)
190+ fromNameColumns :: GRep t (Col Name) -> t Name
191+ toNameColumns :: t Name -> GRep t (Col Name)
207192
208193 type GRep t = GColumns (Rep (t Structure))
209194
@@ -263,19 +248,19 @@ class HTable (GRep t) => Rel8able t where
263248 ) => t Identity -> GRep t (Col Identity)
264249 toIdentityColumns = toGColumns @_ @(Rep (t Structure)) . from
265250
266− default fromUnspecialColumns ::
267− ( Generic (t context)
251+ default fromNameColumns ::
252+ ( Generic (t Name)
268253 , GColumns (Rep (t Structure)) ~ GRep t
269− , GRel8able context (Rep (t Structure)) (Rep (t context))
270− ) => GRep t (Col context) -> t context
271− fromUnspecialColumns = to . fromGColumns @_ @(Rep (t Structure))
254+ , GRel8able Name (Rep (t Structure)) (Rep (t Name))
255+ ) => GRep t (Col Name) -> t Name
256+ fromNameColumns = to . fromGColumns @_ @(Rep (t Structure))
272257
273− default toUnspecialColumns ::
274− ( Generic (t context)
258+ default toNameColumns ::
259+ ( Generic (t Name)
275260 , GColumns (Rep (t Structure)) ~ GRep t
276− , GRel8able context (Rep (t Structure)) (Rep (t context))
277− ) => t context -> GRep t (Col context)
278− toUnspecialColumns = toGColumns @_ @(Rep (t Structure)) . from
261+ , GRel8able Name (Rep (t Structure)) (Rep (t Name))
262+ ) => t Name -> GRep t (Col Name)
263+ toNameColumns = toGColumns @_ @(Rep (t Structure)) . from
279264
280265
281266type GColumns :: (Type -> Type) -> K.HTable
@@ -316,14 +301,14 @@ instance (GRel8able context structure1 rep1, GRel8able context structure2 rep2)
316301
317302
318303instance
319− ( K1Table label isSpecialContext context isStructure structure a
304+ ( K1Table label context isStructure structure a
320305 , meta ~ 'MetaSel ('Just label) _su _ss _ds
321306 , structureK1 ~ K1 i structure
322307 , k1 ~ K1 i a
323308 ) => GRel8able context (M1 S meta structureK1) (M1 S meta k1)
324309 where
325− fromGColumns = M1 . K1 . fromK1Columns @label @_ @_ @_ @structure
326− toGColumns (M1 (K1 a)) = toK1Columns @label @_ @_ @_ @structure a
310+ fromGColumns = M1 . K1 . fromK1Columns @label @_ @_ @structure
311+ toGColumns (M1 (K1 a)) = toK1Columns @label @_ @_ @structure a
327312
328313
329314type K1Columns :: Symbol -> Type -> K.HTable
@@ -368,11 +353,9 @@ type family K1Columns label structure where
368353 K1Columns label a = HLabel label (Columns a)
369354
370355
371−type K1Table :: Symbol -> Bool -> K.Context -> Bool -> Type -> Type -> Constraint
372−class
373− ( isSpecialContext ~ IsSpecialContext context
374− , isStructure ~ IsStructure structure
375− ) => K1Table label isSpecialContext context isStructure structure a
356+type K1Table :: Symbol -> K.Context -> Bool -> Type -> Type -> Constraint
357+class isStructure ~ IsStructure structure =>
358+ K1Table label context isStructure structure a
376359 where
377360 fromK1Columns :: K1Columns label structure (Col context) -> a
378361 toK1Columns :: a -> K1Columns label structure (Col context)
@@ -380,7 +363,7 @@ class
380363
381364instance
382365 ( 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
384367 where
385368 fromK1Columns (HIdentity (Aggregation a)) = a
386369 toK1Columns = HIdentity . Aggregation
@@ -390,7 +373,7 @@ instance
390373
391374instance
392375 ( 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
394377 where
395378 fromK1Columns (HIdentity (Aggregation a)) = a
396379 toK1Columns = HIdentity . Aggregation
@@ -400,7 +383,7 @@ instance
400383
401384instance
402385 ( 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
404387 where
405388 fromK1Columns (HIdentity (DB a)) = a
406389 toK1Columns = HIdentity . DB
@@ -410,7 +393,7 @@ instance
410393
411394instance
412395 ( 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
414397 where
415398 fromK1Columns (HIdentity (DB a)) = a
416399 toK1Columns = HIdentity . DB
@@ -421,7 +404,7 @@ instance
421404instance
422405 ( x ~ Field Insertion '[] necessity db a
423406 , 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
425408 where
426409 fromK1Columns (HIdentity insert) = case insert of
427410 RequiredInsert a -> a
@@ -436,7 +419,7 @@ instance
436419instance
437420 ( x ~ Field Insertion (label ': labels) necessity db a
438421 , 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
440423 where
441424 fromK1Columns (HIdentity insert) = case insert of
442425 RequiredInsert a -> a
@@ -450,7 +433,7 @@ instance
450433
451434instance
452435 ( 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
454437 where
455438 fromK1Columns (HIdentity (Result a)) = a
456439 toK1Columns = HIdentity . Result
@@ -460,7 +443,7 @@ instance
460443
461444instance
462445 ( 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
464447 where
465448 fromK1Columns (HIdentity (Result a)) = a
466449 toK1Columns = HIdentity . Result
@@ -469,24 +452,21 @@ instance
469452
470453
471454instance
472− ( IsSpecialContext context ~ 'False
473− , x ~ context a
474− ) => K1Table _label 'False context 'True (Shape1 'Column ('Spec (label ': labels) necessity db a)) x
455+ ( x ~ Field Name '[] necessity db a
456+ ) => K1Table _label Name 'True (Shape1 'Column ('Spec (label ': labels) necessity db a)) x
475457 where
476− fromK1Columns (HIdentity (Col a)) = a
477− toK1Columns = HIdentity . Col
458+ fromK1Columns (HIdentity (NameCol a)) = Name a
459+ toK1Columns (Name a) = HIdentity (NameCol a)
478460 {-# INLINABLE fromK1Columns #-}
479461 {-# INLINABLE toK1Columns #-}
480462
481463
482464instance
483− ( IsSpecialContext context ~ 'False
484− , x ~ context a
485− , Labelable context
486− ) => K1Table label 'False context 'True (Shape1 'Column ('Spec '[] necessity db a)) x
465+ ( x ~ Field Name (label ': labels) necessity db a
466+ ) => K1Table label Name 'True (Shape1 'Column ('Spec '[] necessity db a)) x
487467 where
488− fromK1Columns = (\(Col a) -> a) . unlabeler . unHIdentity
489− toK1Columns = HIdentity . labeler . Col
468+ fromK1Columns = Name . (\(NameCol a) -> a) . unlabeler . unHIdentity
469+ toK1Columns = HIdentity . labeler . NameCol . (\(Name a) -> a)
490470 {-# INLINABLE fromK1Columns #-}
491471 {-# INLINABLE toK1Columns #-}
492472
@@ -494,21 +474,21 @@ instance
494474instance
495475 ( HTable (K1Columns "Left" structure1)
496476 , HTable (K1Columns "Right" structure2)
497− , K1Table "Left" 'True Aggregate (IsStructure structure1) structure1 a
498− , K1Table "Right" 'True Aggregate (IsStructure structure2) structure2 b
477+ , K1Table "Left" Aggregate (IsStructure structure1) structure1 a
478+ , K1Table "Right" Aggregate (IsStructure structure2) structure2 b
499479 , 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
501481 where
502482 fromK1Columns =
503483 fromColumns2
504− (fromK1Columns @"Left" @_ @_ @_ @structure1)
505− (fromK1Columns @"Right" @_ @_ @_ @structure2) .
484+ (fromK1Columns @"Left" @_ @_ @structure1)
485+ (fromK1Columns @"Right" @_ @_ @structure2) .
506486 hunlabel unlabeler
507487 toK1Columns =
508488 hlabel labeler .
509489 toColumns2
510− (toK1Columns @"Left" @_ @_ @_ @structure1)
511− (toK1Columns @"Right" @_ @_ @_ @structure2)
490+ (toK1Columns @"Left" @_ @_ @structure1)
491+ (toK1Columns @"Right" @_ @_ @structure2)
512492 {-# INLINABLE fromK1Columns #-}
513493 {-# INLINABLE toK1Columns #-}
514494
@@ -516,21 +496,21 @@ instance
516496instance
517497 ( HTable (K1Columns "Left" structure1)
518498 , HTable (K1Columns "Right" structure2)
519− , K1Table "Left" 'True Expr (IsStructure structure1) structure1 a
520− , K1Table "Right" 'True Expr (IsStructure structure2) structure2 b
499+ , K1Table "Left" Expr (IsStructure structure1) structure1 a
500+ , K1Table "Right" Expr (IsStructure structure2) structure2 b
521501 , 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
523503 where
524504 fromK1Columns =
525505 fromColumns2
526− (fromK1Columns @"Left" @_ @_ @_ @structure1)
527− (fromK1Columns @"Right" @_ @_ @_ @structure2) .
506+ (fromK1Columns @"Left" @_ @_ @structure1)
507+ (fromK1Columns @"Right" @_ @_ @structure2) .
528508 hunlabel unlabeler
529509 toK1Columns =
530510 hlabel labeler .
531511 toColumns2
532− (toK1Columns @"Left" @_ @_ @_ @structure1)
533− (toK1Columns @"Right" @_ @_ @_ @structure2)
512+ (toK1Columns @"Left" @_ @_ @structure1)
513+ (toK1Columns @"Right" @_ @_ @structure2)
534514 {-# INLINABLE fromK1Columns #-}
535515 {-# INLINABLE toK1Columns #-}
536516
@@ -538,21 +518,21 @@ instance
538518instance
539519 ( HTable (K1Columns "Left" structure1)
540520 , HTable (K1Columns "Right" structure2)
541− , K1Table "Left" 'True Insertion (IsStructure structure1) structure1 a
542− , K1Table "Right" 'True Insertion (IsStructure structure2) structure2 b
521+ , K1Table "Left" Insertion (IsStructure structure1) structure1 a
522+ , K1Table "Right" Insertion (IsStructure structure2) structure2 b
543523 , 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
545525 where
546526 fromK1Columns =
547527 fromColumns2
548− (fromK1Columns @"Left" @_ @_ @_ @structure1)
549− (fromK1Columns @"Right" @_ @_ @_ @structure2) .
528+ (fromK1Columns @"Left" @_ @_ @structure1)
529+ (fromK1Columns @"Right" @_ @_ @structure2) .
550530 hunlabel unlabeler
551531 toK1Columns =
552532 hlabel labeler .
553533 toColumns2
554− (toK1Columns @"Left" @_ @_ @_ @structure1)
555− (toK1Columns @"Right" @_ @_ @_ @structure2)
534+ (toK1Columns @"Left" @_ @_ @structure1)
535+ (toK1Columns @"Right" @_ @_ @structure2)
556536 {-# INLINABLE fromK1Columns #-}
557537 {-# INLINABLE toK1Columns #-}
558538
@@ -560,23 +540,23 @@ instance
560540instance
561541 ( HTable (K1Columns "Left" structure1)
562542 , HTable (K1Columns "Right" structure2)
563− , K1Table "Left" 'True Identity (IsStructure structure1) structure1 a
564− , K1Table "Right" 'True Identity (IsStructure structure2) structure2 b
543+ , K1Table "Left" Identity (IsStructure structure1) structure1 a
544+ , K1Table "Right" Identity (IsStructure structure2) structure2 b
565545 , 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
567547 where
568548 fromK1Columns
569549 = bimap
570− (fromK1Columns @"Left" @_ @_ @_ @structure1)
571− (fromK1Columns @"Right" @_ @_ @_ @structure2)
550+ (fromK1Columns @"Left" @_ @_ @structure1)
551+ (fromK1Columns @"Right" @_ @_ @structure2)
572552 . fromHEitherTable
573553 . hunlabel unlabeler
574554 toK1Columns
575555 = hlabel labeler
576556 . toHEitherTable
577557 . bimap
578− (toK1Columns @"Left" @_ @_ @_ @structure1)
579− (toK1Columns @"Right" @_ @_ @_ @structure2)
558+ (toK1Columns @"Left" @_ @_ @structure1)
559+ (toK1Columns @"Right" @_ @_ @structure2)
580560 {-# INLINABLE fromK1Columns #-}
581561 {-# INLINABLE toK1Columns #-}
582562
@@ -584,34 +564,30 @@ instance
584564instance
585565 ( HTable (K1Columns "Left" structure1)
586566 , HTable (K1Columns "Right" structure2)
587− , K1Table "Left" 'False context (IsStructure structure1) structure1 a
588− , K1Table "Right" 'False context (IsStructure structure2) structure2 b
589− , IsSpecialContext context ~ 'False
590− , Labelable context
591− , Nullifiable context
567+ , K1Table "Left" Name (IsStructure structure1) structure1 a
568+ , K1Table "Right" Name (IsStructure structure2) structure2 b
592569 , 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
594571 where
595572 fromK1Columns =
596573 fromColumns2
597− (fromK1Columns @"Left" @_ @_ @_ @structure1)
598− (fromK1Columns @"Right" @_ @_ @_ @structure2) .
574+ (fromK1Columns @"Left" @_ @_ @structure1)
575+ (fromK1Columns @"Right" @_ @_ @structure2) .
599576 hunlabel unlabeler
600577 toK1Columns =
601578 hlabel labeler .
602579 toColumns2
603− (toK1Columns @"Left" @_ @_ @_ @structure1)
604− (toK1Columns @"Right" @_ @_ @_ @structure2)
580+ (toK1Columns @"Left" @_ @_ @structure1)
581+ (toK1Columns @"Right" @_ @_ @structure2)
605582 {-# INLINABLE fromK1Columns #-}
606583 {-# INLINABLE toK1Columns #-}
607584
608585
609586instance
610− ( K1Table label 'True Aggregate (IsStructure structure) structure a
611− , Table Aggregate a
587+ ( Table Aggregate a
612588 , K1Columns label structure ~ HLabel label (Columns a)
613589 , as ~ ListTable a
614− ) => K1Table label 'True Aggregate 'True (Shape1 'List structure) as
590+ ) => K1Table label Aggregate 'True (Shape1 'List structure) as
615591 where
616592 fromK1Columns = fromColumns . hrelabel (hunlabel hunlabeler)
617593 toK1Columns = hrelabel (hlabel hlabeler) . toColumns
@@ -620,11 +596,10 @@ instance
620596
621597
622598instance
623− ( K1Table label 'True Expr (IsStructure structure) structure a
624− , Table Expr a
599+ ( Table Expr a
625600 , K1Columns label structure ~ HLabel label (Columns a)
626601 , as ~ ListTable a
627− ) => K1Table label 'True Expr 'True (Shape1 'List structure) as
602+ ) => K1Table label Expr 'True (Shape1 'List structure) as
628603 where
629604 fromK1Columns = fromColumns . hrelabel (hunlabel hunlabeler)
630605 toK1Columns = hrelabel (hlabel hlabeler) . toColumns
@@ -633,11 +608,10 @@ instance
633608
634609
635610instance
636− ( K1Table label 'True Insertion (IsStructure structure) structure a
637− , Table Insertion a
611+ ( Table Insertion a
638612 , K1Columns label structure ~ HLabel label (Columns a)
639613 , as ~ ListTable a
640− ) => K1Table label 'True Insertion 'True (Shape1 'List structure) as
614+ ) => K1Table label Insertion 'True (Shape1 'List structure) as
641615 where
642616 fromK1Columns = fromColumns . hrelabel (hunlabel hunlabeler)
643617 toK1Columns = hrelabel (hlabel hlabeler) . toColumns
@@ -646,25 +620,22 @@ instance
646620
647621
648622instance
649− ( K1Table label 'True Identity (IsStructure structure) structure a
623+ ( K1Table label Identity (IsStructure structure) structure a
650624 , HTable (K1Columns label structure)
651625 , as ~ [a]
652− ) => K1Table label 'True Identity 'True (Shape1 'List structure) as
626+ ) => K1Table label Identity 'True (Shape1 'List structure) as
653627 where
654− fromK1Columns = fmap (fromK1Columns @label @'True @Identity @_ @structure) . fromHListTable
655− toK1Columns = toHListTable . fmap (toK1Columns @label @'True @Identity @_ @structure)
628+ fromK1Columns = fmap (fromK1Columns @label @_ @_ @structure) . fromHListTable
629+ toK1Columns = toHListTable . fmap (toK1Columns @label @_ @_ @structure)
656630 {-# INLINABLE fromK1Columns #-}
657631 {-# INLINABLE toK1Columns #-}
658632
659633
660634instance
661− ( K1Table label 'False context (IsStructure structure) structure a
662− , IsSpecialContext context ~ 'False
663− , Table context a
635+ ( Table Name a
664636 , K1Columns label structure ~ HLabel label (Columns a)
665− , Labelable context
666637 , as ~ ListTable a
667− ) => K1Table label 'False context 'True (Shape1 'List structure) as
638+ ) => K1Table label Name 'True (Shape1 'List structure) as
668639 where
669640 fromK1Columns = fromColumns . hrelabel (hunlabel hunlabeler)
670641 toK1Columns = hrelabel (hlabel hlabeler) . toColumns
@@ -674,95 +645,91 @@ instance
674645
675646instance
676647 ( HTable (K1Columns "Just" structure)
677− , K1Table "Just" 'True Aggregate (IsStructure structure) structure a
648+ , K1Table "Just" Aggregate (IsStructure structure) structure a
678649 , ma ~ MaybeTable a
679− ) => K1Table label 'True Aggregate 'True (Shape1 'Maybe structure) ma
650+ ) => K1Table label Aggregate 'True (Shape1 'Maybe structure) ma
680651 where
681652 fromK1Columns =
682− fromColumns1 (fromK1Columns @"Just" @_ @_ @_ @structure) .
653+ fromColumns1 (fromK1Columns @"Just" @_ @_ @structure) .
683654 hunlabel unlabeler
684655 toK1Columns =
685656 hlabel labeler .
686− toColumns1 (toK1Columns @"Just" @_ @_ @_ @structure)
657+ toColumns1 (toK1Columns @"Just" @_ @_ @structure)
687658 {-# INLINABLE fromK1Columns #-}
688659 {-# INLINABLE toK1Columns #-}
689660
690661
691662instance
692663 ( HTable (K1Columns "Just" structure)
693− , K1Table "Just" 'True Expr (IsStructure structure) structure a
664+ , K1Table "Just" Expr (IsStructure structure) structure a
694665 , ma ~ MaybeTable a
695− ) => K1Table label 'True Expr 'True (Shape1 'Maybe structure) ma
666+ ) => K1Table label Expr 'True (Shape1 'Maybe structure) ma
696667 where
697668 fromK1Columns =
698− fromColumns1 (fromK1Columns @"Just" @_ @_ @_ @structure) .
669+ fromColumns1 (fromK1Columns @"Just" @_ @_ @structure) .
699670 hunlabel unlabeler
700671 toK1Columns =
701672 hlabel labeler .
702− toColumns1 (toK1Columns @"Just" @_ @_ @_ @structure)
673+ toColumns1 (toK1Columns @"Just" @_ @_ @structure)
703674 {-# INLINABLE fromK1Columns #-}
704675 {-# INLINABLE toK1Columns #-}
705676
706677
707678instance
708679 ( HTable (K1Columns "Just" structure)
709− , K1Table "Just" 'True Insertion (IsStructure structure) structure a
680+ , K1Table "Just" Insertion (IsStructure structure) structure a
710681 , ma ~ MaybeTable a
711− ) => K1Table label 'True Insertion 'True (Shape1 'Maybe structure) ma
682+ ) => K1Table label Insertion 'True (Shape1 'Maybe structure) ma
712683 where
713684 fromK1Columns =
714− fromColumns1 (fromK1Columns @"Just" @_ @_ @_ @structure) .
685+ fromColumns1 (fromK1Columns @"Just" @_ @_ @structure) .
715686 hunlabel unlabeler
716687 toK1Columns =
717688 hlabel labeler .
718− toColumns1 (toK1Columns @"Just" @_ @_ @_ @structure)
689+ toColumns1 (toK1Columns @"Just" @_ @_ @structure)
719690 {-# INLINABLE fromK1Columns #-}
720691 {-# INLINABLE toK1Columns #-}
721692
722693
723694instance
724695 ( HTable (K1Columns "Just" structure)
725− , K1Table "Just" 'True Identity (IsStructure structure) structure a
696+ , K1Table "Just" Identity (IsStructure structure) structure a
726697 , ma ~ Maybe a
727− ) => K1Table label 'True Identity 'True (Shape1 'Maybe structure) ma
698+ ) => K1Table label Identity 'True (Shape1 'Maybe structure) ma
728699 where
729700 fromK1Columns
730− = fmap (fromK1Columns @"Just" @_ @_ @_ @structure)
701+ = fmap (fromK1Columns @"Just" @_ @_ @structure)
731702 . fromHMaybeTable
732703 . hunlabel unlabeler
733704 toK1Columns
734705 = hlabel labeler
735706 . toHMaybeTable
736− . fmap (toK1Columns @"Just" @_ @_ @_ @structure)
707+ . fmap (toK1Columns @"Just" @_ @_ @structure)
737708 {-# INLINABLE fromK1Columns #-}
738709 {-# INLINABLE toK1Columns #-}
739710
740711
741712instance
742713 ( HTable (K1Columns "Just" structure)
743− , K1Table "Just" 'False context (IsStructure structure) structure a
744− , IsSpecialContext context ~ 'False
745− , Labelable context
746− , Nullifiable context
714+ , K1Table "Just" Name (IsStructure structure) structure a
747715 , ma ~ MaybeTable a
748− ) => K1Table label 'False context 'True (Shape1 'Maybe structure) ma
716+ ) => K1Table label Name 'True (Shape1 'Maybe structure) ma
749717 where
750718 fromK1Columns =
751− fromColumns1 (fromK1Columns @"Just" @_ @_ @_ @structure) .
719+ fromColumns1 (fromK1Columns @"Just" @_ @_ @structure) .
752720 hunlabel unlabeler
753721 toK1Columns =
754722 hlabel labeler .
755− toColumns1 (toK1Columns @"Just" @_ @_ @_ @structure)
723+ toColumns1 (toK1Columns @"Just" @_ @_ @structure)
756724 {-# INLINABLE fromK1Columns #-}
757725 {-# INLINABLE toK1Columns #-}
758726
759727
760728instance
761− ( K1Table label 'True Aggregate (IsStructure structure) structure a
762− , Table Aggregate a
729+ ( Table Aggregate a
763730 , K1Columns label structure ~ HLabel label (Columns a)
764731 , as ~ NonEmptyTable a
765− ) => K1Table label 'True Aggregate 'True (Shape1 'NonEmpty structure) as
732+ ) => K1Table label Aggregate 'True (Shape1 'NonEmpty structure) as
766733 where
767734 fromK1Columns = fromColumns . hrelabel (hunlabel hunlabeler)
768735 toK1Columns = hrelabel (hlabel hlabeler) . toColumns
@@ -771,11 +738,10 @@ instance
771738
772739
773740instance
774− ( K1Table label 'True Expr (IsStructure structure) structure a
775− , Table Expr a
741+ ( Table Expr a
776742 , K1Columns label structure ~ HLabel label (Columns a)
777743 , as ~ NonEmptyTable a
778− ) => K1Table label 'True Expr 'True (Shape1 'NonEmpty structure) as
744+ ) => K1Table label Expr 'True (Shape1 'NonEmpty structure) as
779745 where
780746 fromK1Columns = fromColumns . hrelabel (hunlabel hunlabeler)
781747 toK1Columns = hrelabel (hlabel hlabeler) . toColumns
@@ -784,11 +750,10 @@ instance
784750
785751
786752instance
787− ( K1Table label 'True Insertion (IsStructure structure) structure a
788− , Table Insertion a
753+ ( Table Insertion a
789754 , K1Columns label structure ~ HLabel label (Columns a)
790755 , as ~ NonEmptyTable a
791− ) => K1Table label 'True Insertion 'True (Shape1 'NonEmpty structure) as
756+ ) => K1Table label Insertion 'True (Shape1 'NonEmpty structure) as
792757 where
793758 fromK1Columns = fromColumns . hrelabel (hunlabel hunlabeler)
794759 toK1Columns = hrelabel (hlabel hlabeler) . toColumns
@@ -797,25 +762,22 @@ instance
797762
798763
799764instance
800− ( K1Table label 'True Identity (IsStructure structure) structure a
765+ ( K1Table label Identity (IsStructure structure) structure a
801766 , HTable (K1Columns label structure)
802767 , as ~ NonEmpty a
803− ) => K1Table label 'True Identity 'True (Shape1 'NonEmpty structure) as
768+ ) => K1Table label Identity 'True (Shape1 'NonEmpty structure) as
804769 where
805− fromK1Columns = fmap (fromK1Columns @label @'True @Identity @_ @structure) . fromHNonEmptyTable
806− toK1Columns = toHNonEmptyTable . fmap (toK1Columns @label @'True @Identity @_ @structure)
770+ fromK1Columns = fmap (fromK1Columns @label @_ @_ @structure) . fromHNonEmptyTable
771+ toK1Columns = toHNonEmptyTable . fmap (toK1Columns @label @_ @_ @structure)
807772 {-# INLINABLE fromK1Columns #-}
808773 {-# INLINABLE toK1Columns #-}
809774
810775
811776instance
812− ( K1Table label 'False context (IsStructure structure) structure a
813− , IsSpecialContext context ~ 'False
814− , Table context a
777+ ( Table Name a
815778 , K1Columns label structure ~ HLabel label (Columns a)
816− , Labelable context
817779 , as ~ NonEmptyTable a
818− ) => K1Table label 'False context 'True (Shape1 'NonEmpty structure) as
780+ ) => K1Table label Name 'True (Shape1 'NonEmpty structure) as
819781 where
820782 fromK1Columns = fromColumns . hrelabel (hunlabel hunlabeler)
821783 toK1Columns = hrelabel (hlabel hlabeler) . toColumns
@@ -826,21 +788,21 @@ instance
826788instance
827789 ( HTable (K1Columns "Here" structure1)
828790 , HTable (K1Columns "There" structure2)
829− , K1Table "Here" 'True Aggregate (IsStructure structure1) structure1 a
830− , K1Table "There" 'True Aggregate (IsStructure structure2) structure2 b
791+ , K1Table "Here" Aggregate (IsStructure structure1) structure1 a
792+ , K1Table "There" Aggregate (IsStructure structure2) structure2 b
831793 , 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
833795 where
834796 fromK1Columns =
835797 fromColumns2
836− (fromK1Columns @"Here" @_ @_ @_ @structure1)
837− (fromK1Columns @"There" @_ @_ @_ @structure2) .
798+ (fromK1Columns @"Here" @_ @_ @structure1)
799+ (fromK1Columns @"There" @_ @_ @structure2) .
838800 hunlabel unlabeler
839801 toK1Columns =
840802 hlabel labeler .
841803 toColumns2
842− (toK1Columns @"Here" @_ @_ @_ @structure1)
843− (toK1Columns @"There" @_ @_ @_ @structure2)
804+ (toK1Columns @"Here" @_ @_ @structure1)
805+ (toK1Columns @"There" @_ @_ @structure2)
844806 {-# INLINABLE fromK1Columns #-}
845807 {-# INLINABLE toK1Columns #-}
846808
@@ -848,21 +810,21 @@ instance
848810instance
849811 ( HTable (K1Columns "Here" structure1)
850812 , HTable (K1Columns "There" structure2)
851− , K1Table "Here" 'True Expr (IsStructure structure1) structure1 a
852− , K1Table "There" 'True Expr (IsStructure structure2) structure2 b
813+ , K1Table "Here" Expr (IsStructure structure1) structure1 a
814+ , K1Table "There" Expr (IsStructure structure2) structure2 b
853815 , 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
855817 where
856818 fromK1Columns =
857819 fromColumns2
858− (fromK1Columns @"Here" @_ @_ @_ @structure1)
859− (fromK1Columns @"There" @_ @_ @_ @structure2) .
820+ (fromK1Columns @"Here" @_ @_ @structure1)
821+ (fromK1Columns @"There" @_ @_ @structure2) .
860822 hunlabel unlabeler
861823 toK1Columns =
862824 hlabel labeler .
863825 toColumns2
864− (toK1Columns @"Here" @_ @_ @_ @structure1)
865− (toK1Columns @"There" @_ @_ @_ @structure2)
826+ (toK1Columns @"Here" @_ @_ @structure1)
827+ (toK1Columns @"There" @_ @_ @structure2)
866828 {-# INLINABLE fromK1Columns #-}
867829 {-# INLINABLE toK1Columns #-}
868830
@@ -870,21 +832,21 @@ instance
870832instance
871833 ( HTable (K1Columns "Here" structure1)
872834 , HTable (K1Columns "There" structure2)
873− , K1Table "Here" 'True Insertion (IsStructure structure1) structure1 a
874− , K1Table "There" 'True Insertion (IsStructure structure2) structure2 b
835+ , K1Table "Here" Insertion (IsStructure structure1) structure1 a
836+ , K1Table "There" Insertion (IsStructure structure2) structure2 b
875837 , 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
877839 where
878840 fromK1Columns =
879841 fromColumns2
880− (fromK1Columns @"Here" @_ @_ @_ @structure1)
881− (fromK1Columns @"There" @_ @_ @_ @structure2) .
842+ (fromK1Columns @"Here" @_ @_ @structure1)
843+ (fromK1Columns @"There" @_ @_ @structure2) .
882844 hunlabel unlabeler
883845 toK1Columns =
884846 hlabel labeler .
885847 toColumns2
886− (toK1Columns @"Here" @_ @_ @_ @structure1)
887− (toK1Columns @"There" @_ @_ @_ @structure2)
848+ (toK1Columns @"Here" @_ @_ @structure1)
849+ (toK1Columns @"There" @_ @_ @structure2)
888850 {-# INLINABLE fromK1Columns #-}
889851 {-# INLINABLE toK1Columns #-}
890852
@@ -892,23 +854,23 @@ instance
892854instance
893855 ( HTable (K1Columns "Here" structure1)
894856 , HTable (K1Columns "There" structure2)
895− , K1Table "Here" 'True Identity (IsStructure structure1) structure1 a
896− , K1Table "There" 'True Identity (IsStructure structure2) structure2 b
857+ , K1Table "Here" Identity (IsStructure structure1) structure1 a
858+ , K1Table "There" Identity (IsStructure structure2) structure2 b
897859 , 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
899861 where
900862 fromK1Columns
901863 = bimap
902− (fromK1Columns @"Here" @_ @_ @_ @structure1)
903− (fromK1Columns @"There" @_ @_ @_ @structure2)
864+ (fromK1Columns @"Here" @_ @_ @structure1)
865+ (fromK1Columns @"There" @_ @_ @structure2)
904866 . fromHTheseTable
905867 . hunlabel unlabeler
906868 toK1Columns
907869 = hlabel labeler
908870 . toHTheseTable
909871 . bimap
910− (toK1Columns @"Here" @_ @_ @_ @structure1)
911− (toK1Columns @"There" @_ @_ @_ @structure2)
872+ (toK1Columns @"Here" @_ @_ @structure1)
873+ (toK1Columns @"There" @_ @_ @structure2)
912874 {-# INLINABLE fromK1Columns #-}
913875 {-# INLINABLE toK1Columns #-}
914876
@@ -916,110 +878,106 @@ instance
916878instance
917879 ( HTable (K1Columns "Here" structure1)
918880 , HTable (K1Columns "There" structure2)
919− , K1Table "Here" 'False context (IsStructure structure1) structure1 a
920− , K1Table "There" 'False context (IsStructure structure2) structure2 b
921− , IsSpecialContext context ~ 'False
922− , Labelable context
923− , Nullifiable context
881+ , K1Table "Here" Name (IsStructure structure1) structure1 a
882+ , K1Table "There" Name (IsStructure structure2) structure2 b
924883 , 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
926885 where
927886 fromK1Columns =
928887 fromColumns2
929− (fromK1Columns @"Here" @_ @_ @_ @structure1)
930− (fromK1Columns @"There" @_ @_ @_ @structure2) .
888+ (fromK1Columns @"Here" @_ @_ @structure1)
889+ (fromK1Columns @"There" @_ @_ @structure2) .
931890 hunlabel unlabeler
932891 toK1Columns =
933892 hlabel labeler .
934893 toColumns2
935− (toK1Columns @"Here" @_ @_ @_ @structure1)
936− (toK1Columns @"There" @_ @_ @_ @structure2)
894+ (toK1Columns @"Here" @_ @_ @structure1)
895+ (toK1Columns @"There" @_ @_ @structure2)
937896 {-# INLINABLE fromK1Columns #-}
938897 {-# INLINABLE toK1Columns #-}
939898
940899
941−
942900instance
943− ( K1Table "fst" isSpecialContext context (IsStructure structure1) structure1 a1
944− , K1Table "snd" isSpecialContext context (IsStructure structure2) structure2 a2
901+ ( K1Table "fst" context (IsStructure structure1) structure1 a1
902+ , K1Table "snd" context (IsStructure structure2) structure2 a2
945903 , HTable (K1Columns "fst" structure1)
946904 , HTable (K1Columns "snd" structure2)
947905 , Labelable context
948906 , a ~ (a1, a2)
949− ) => K1Table label isSpecialContext context 'True (structure1, structure2) a
907+ ) => K1Table label context 'True (structure1, structure2) a
950908 where
951909 fromK1Columns (hunlabel unlabeler -> (HPair a b)) =
952− ( fromK1Columns @"fst" @_ @_ @_ @structure1 a
953− , fromK1Columns @"snd" @_ @_ @_ @structure2 b
910+ ( fromK1Columns @"fst" @_ @_ @structure1 a
911+ , fromK1Columns @"snd" @_ @_ @structure2 b
954912 )
955913 toK1Columns (a, b) = hlabel labeler $ HPair
956− { hfst = toK1Columns @"fst" @_ @_ @_ @structure1 a
957− , hsnd = toK1Columns @"snd" @_ @_ @_ @structure2 b
914+ { hfst = toK1Columns @"fst" @_ @_ @structure1 a
915+ , hsnd = toK1Columns @"snd" @_ @_ @structure2 b
958916 }
959917 {-# INLINABLE fromK1Columns #-}
960918 {-# INLINABLE toK1Columns #-}
961919
962920
963921instance
964− ( K1Table "fst" isSpecialContext context (IsStructure structure1) structure1 a1
965− , K1Table "snd" isSpecialContext context (IsStructure structure2) structure2 a2
966− , K1Table "trd" isSpecialContext context (IsStructure structure3) structure3 a3
922+ ( K1Table "fst" context (IsStructure structure1) structure1 a1
923+ , K1Table "snd" context (IsStructure structure2) structure2 a2
924+ , K1Table "trd" context (IsStructure structure3) structure3 a3
967925 , HTable (K1Columns "fst" structure1)
968926 , HTable (K1Columns "snd" structure2)
969927 , HTable (K1Columns "trd" structure3)
970928 , Labelable context
971929 , a ~ (a1, a2, a3)
972− ) => K1Table label isSpecialContext context 'True (structure1, structure2, structure3) a
930+ ) => K1Table label context 'True (structure1, structure2, structure3) a
973931 where
974932 fromK1Columns (hunlabel unlabeler -> (HTrio a b c)) =
975− ( fromK1Columns @"fst" @_ @_ @_ @structure1 a
976− , fromK1Columns @"snd" @_ @_ @_ @structure2 b
977− , fromK1Columns @"trd" @_ @_ @_ @structure3 c
933+ ( fromK1Columns @"fst" @_ @_ @structure1 a
934+ , fromK1Columns @"snd" @_ @_ @structure2 b
935+ , fromK1Columns @"trd" @_ @_ @structure3 c
978936 )
979937 toK1Columns (a, b, c) = hlabel labeler $ HTrio
980− { hfst = toK1Columns @"fst" @_ @_ @_ @structure1 a
981− , hsnd = toK1Columns @"snd" @_ @_ @_ @structure2 b
982− , htrd = toK1Columns @"trd" @_ @_ @_ @structure3 c
938+ { hfst = toK1Columns @"fst" @_ @_ @structure1 a
939+ , hsnd = toK1Columns @"snd" @_ @_ @structure2 b
940+ , htrd = toK1Columns @"trd" @_ @_ @structure3 c
983941 }
984942 {-# INLINABLE fromK1Columns #-}
985943 {-# INLINABLE toK1Columns #-}
986944
987945
988946instance
989− ( K1Table "fst" isSpecialContext context (IsStructure structure1) structure1 a1
990− , K1Table "snd" isSpecialContext context (IsStructure structure2) structure2 a2
991− , K1Table "trd" isSpecialContext context (IsStructure structure3) structure3 a3
992− , K1Table "frt" isSpecialContext context (IsStructure structure3) structure4 a4
947+ ( K1Table "fst" context (IsStructure structure1) structure1 a1
948+ , K1Table "snd" context (IsStructure structure2) structure2 a2
949+ , K1Table "trd" context (IsStructure structure3) structure3 a3
950+ , K1Table "frt" context (IsStructure structure3) structure4 a4
993951 , HTable (K1Columns "fst" structure1)
994952 , HTable (K1Columns "snd" structure2)
995953 , HTable (K1Columns "trd" structure3)
996954 , HTable (K1Columns "frt" structure4)
997955 , Labelable context
998956 , 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
1000958 where
1001959 fromK1Columns (hunlabel unlabeler -> (HQuartet a b c d)) =
1002− ( fromK1Columns @"fst" @_ @_ @_ @structure1 a
1003− , fromK1Columns @"snd" @_ @_ @_ @structure2 b
1004− , fromK1Columns @"trd" @_ @_ @_ @structure3 c
1005− , fromK1Columns @"frt" @_ @_ @_ @structure4 d
960+ ( fromK1Columns @"fst" @_ @_ @structure1 a
961+ , fromK1Columns @"snd" @_ @_ @structure2 b
962+ , fromK1Columns @"trd" @_ @_ @structure3 c
963+ , fromK1Columns @"frt" @_ @_ @structure4 d
1006964 )
1007965 toK1Columns (a, b, c, d) = hlabel labeler $ HQuartet
1008− { hfst = toK1Columns @"fst" @_ @_ @_ @structure1 a
1009− , hsnd = toK1Columns @"snd" @_ @_ @_ @structure2 b
1010− , htrd = toK1Columns @"trd" @_ @_ @_ @structure3 c
1011− , hfrt = toK1Columns @"frt" @_ @_ @_ @structure4 d
966+ { hfst = toK1Columns @"fst" @_ @_ @structure1 a
967+ , hsnd = toK1Columns @"snd" @_ @_ @structure2 b
968+ , htrd = toK1Columns @"trd" @_ @_ @structure3 c
969+ , hfrt = toK1Columns @"frt" @_ @_ @structure4 d
1012970 }
1013971 {-# INLINABLE fromK1Columns #-}
1014972 {-# INLINABLE toK1Columns #-}
1015973
1016974
1017975instance
1018− ( K1Table "fst" isSpecialContext context (IsStructure structure1) structure1 a1
1019− , K1Table "snd" isSpecialContext context (IsStructure structure2) structure2 a2
1020− , K1Table "trd" isSpecialContext context (IsStructure structure3) structure3 a3
1021− , K1Table "frt" isSpecialContext context (IsStructure structure3) structure4 a4
1022− , K1Table "fft" isSpecialContext context (IsStructure structure3) structure5 a5
976+ ( K1Table "fst" context (IsStructure structure1) structure1 a1
977+ , K1Table "snd" context (IsStructure structure2) structure2 a2
978+ , K1Table "trd" context (IsStructure structure3) structure3 a3
979+ , K1Table "frt" context (IsStructure structure3) structure4 a4
980+ , K1Table "fft" context (IsStructure structure3) structure5 a5
1023981 , HTable (K1Columns "fst" structure1)
1024982 , HTable (K1Columns "snd" structure2)
1025983 , HTable (K1Columns "trd" structure3)
@@ -1027,34 +985,33 @@ instance
1027985 , HTable (K1Columns "fft" structure5)
1028986 , Labelable context
1029987 , 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
1031989 where
1032990 fromK1Columns (hunlabel unlabeler -> (HQuintet a b c d e)) =
1033− ( fromK1Columns @"fst" @_ @_ @_ @structure1 a
1034− , fromK1Columns @"snd" @_ @_ @_ @structure2 b
1035− , fromK1Columns @"trd" @_ @_ @_ @structure3 c
1036− , fromK1Columns @"frt" @_ @_ @_ @structure4 d
1037− , fromK1Columns @"fft" @_ @_ @_ @structure5 e
991+ ( fromK1Columns @"fst" @_ @_ @structure1 a
992+ , fromK1Columns @"snd" @_ @_ @structure2 b
993+ , fromK1Columns @"trd" @_ @_ @structure3 c
994+ , fromK1Columns @"frt" @_ @_ @structure4 d
995+ , fromK1Columns @"fft" @_ @_ @structure5 e
1038996 )
1039997 toK1Columns (a, b, c, d, e) = hlabel labeler $ HQuintet
1040− { hfst = toK1Columns @"fst" @_ @_ @_ @structure1 a
1041− , hsnd = toK1Columns @"snd" @_ @_ @_ @structure2 b
1042− , htrd = toK1Columns @"trd" @_ @_ @_ @structure3 c
1043− , hfrt = toK1Columns @"frt" @_ @_ @_ @structure4 d
1044− , hfft = toK1Columns @"fft" @_ @_ @_ @structure5 e
998+ { hfst = toK1Columns @"fst" @_ @_ @structure1 a
999+ , hsnd = toK1Columns @"snd" @_ @_ @structure2 b
1000+ , htrd = toK1Columns @"trd" @_ @_ @structure3 c
1001+ , hfrt = toK1Columns @"frt" @_ @_ @structure4 d
1002+ , hfft = toK1Columns @"fft" @_ @_ @structure5 e
10451003 }
10461004 {-# INLINABLE fromK1Columns #-}
10471005 {-# INLINABLE toK1Columns #-}
10481006
10491007
10501008instance
1051− ( IsSpecialContext context ~ isSpecialContext
1052− , IsStructure structure ~ 'False
1009+ ( IsStructure structure ~ 'False
10531010 , K1Columns label structure ~ HLabel label (Columns structure)
10541011 , Columns structure ~ Columns a
10551012 , Labelable context
10561013 , Table context a
1057− ) => K1Table label isSpecialContext context 'False structure a
1014+ ) => K1Table label context 'False structure a
10581015 where
10591016 fromK1Columns = fromColumns . hunlabel unlabeler
10601017 toK1Columns = hlabel labeler . toColumns