@@ -189,6 +189,8 @@ instance
189 ) => Recontextualize from to (a1, a2, a3, a4, a5) (b1, b2, b3, b4, b5)
189 ) => Recontextualize from to (a1, a2, a3, a4, a5) (b1, b2, b3, b4, b5)
192+-- | @Aggregates a b@ means that the columns in @a@ are all 'Aggregate' 'Expr's
193+-- for the columns in @b@.
192type Aggregates :: Type -> Type -> Constraint
194type Aggregates :: Type -> Type -> Constraint
193class Recontextualize Aggregate Expr aggregates exprs => Aggregates aggregates exprs
195class Recontextualize Aggregate Expr aggregates exprs => Aggregates aggregates exprs
194instance Recontextualize Aggregate Expr aggregates exprs => Aggregates aggregates exprs
196instance Recontextualize Aggregate Expr aggregates exprs => Aggregates aggregates exprs
@@ -201,12 +203,16 @@ instance Recontextualize Identity Expr a exprs => Encodes a exprs
201instance {-# OVERLAPPING #-} Encodes (Opaque1 Identity Opaque) (Opaque1 Expr Opaque)
203instance {-# OVERLAPPING #-} Encodes (Opaque1 Identity Opaque) (Opaque1 Expr Opaque)
206+-- | @Inserts a b@ means that the columns in @a@ are compatible for inserting
207+-- with the table @b@.
204type Inserts :: Type -> Type -> Constraint
208type Inserts :: Type -> Type -> Constraint
205class Recontextualize Expr Insertion exprs inserts => Inserts exprs inserts
209class Recontextualize Expr Insertion exprs inserts => Inserts exprs inserts
206instance Recontextualize Expr Insertion exprs inserts => Inserts exprs inserts
210instance Recontextualize Expr Insertion exprs inserts => Inserts exprs inserts
207instance {-# OVERLAPPING #-} Inserts (Opaque1 Expr Opaque) (Opaque1 Insertion Opaque)
211instance {-# OVERLAPPING #-} Inserts (Opaque1 Expr Opaque) (Opaque1 Insertion Opaque)
214+-- | @Selects a b@ means that @a@ is a schema (i.e., a 'Table' of 'Name's) for
215+-- the 'Expr' columns in @b@.
210type Selects :: Type -> Type -> Constraint
216type Selects :: Type -> Type -> Constraint
211class Recontextualize Name Expr names exprs => Selects names exprs
217class Recontextualize Name Expr names exprs => Selects names exprs
212instance Recontextualize Name Expr names exprs => Selects names exprs
218instance Recontextualize Name Expr names exprs => Selects names exprs