 // MARK: - Arithmetic Operators (+, -, *, /)
 
 extension AssociationAggregate {
-    /// Returns an arithmetically negated aggregate.
-    ///
-    /// For example:
-    ///
-    ///     Author.annotated(with: -Author.books.count)
+    /// The `-` SQL operator.
     public static prefix func - (aggregate: Self) -> Self {
         aggregate.map { -$0 }
     }
     
-    /// Returns an aggregate that sums two aggregates with the `+` SQL operator.
-    ///
-    /// For example:
-    ///
-    ///     Author.annotated(with: Author.books.count + Author.paintings.count)
+    /// The `+` SQL operator.
     public static func + (lhs: Self, rhs: Self) -> Self {
         combine(lhs, rhs, with: +)
     }
     
-    /// Returns an aggregate that sums an aggregate with the `+` SQL operator.
-    ///
-    /// For example:
-    ///
-    ///     Author.annotated(with: Author.books.count + 1)
+    /// The `+` SQL operator.
     public static func + (lhs: Self, rhs: some SQLExpressible) -> Self {
         lhs.map { $0 + rhs }
     }
     
-    /// Returns an aggregate that sums an aggregate with the `+` SQL operator.
-    ///
-    /// For example:
-    ///
-    ///     Author.annotated(with: 1 + Author.books.count)
+    /// The `+` SQL operator.
     public static func + (lhs: some SQLExpressible, rhs: Self) -> Self {
         rhs.map { lhs + $0 }
     }
     
-    /// Returns an aggregate that substracts two aggregates with the `-` SQL operator.
-    ///
-    /// For example:
-    ///
-    ///     Author.annotated(with: Author.books.count - Author.paintings.count)
+    /// The `-` SQL operator.
     public static func - (lhs: Self, rhs: Self) -> Self {
         combine(lhs, rhs, with: -)
     }
     
-    /// Returns an aggregate that substracts an aggregate with the `-` SQL operator.
-    ///
-    /// For example:
-    ///
-    ///     Author.annotated(with: Author.books.count - 1)
+    /// The `-` SQL operator.
     public static func - (lhs: Self, rhs: some SQLExpressible) -> Self {
         lhs.map { $0 - rhs }
     }
     
-    /// Returns an aggregate that substracts an aggregate with the `-` SQL operator.
-    ///
-    /// For example:
-    ///
-    ///     Author.annotated(with: 1 - Author.books.count)
+    /// The `-` SQL operator.
     public static func - (lhs: some SQLExpressible, rhs: Self) -> Self {
         rhs.map { lhs - $0 }
     }
     
-    /// Returns an aggregate that multiplies two aggregates with the `*` SQL operator.
-    ///
-    /// For example:
-    ///
-    ///     Author.annotated(with: Author.books.count * Author.paintings.count)
+    /// The `*` SQL operator.
     public static func * (lhs: Self, rhs: Self) -> Self {
         combine(lhs, rhs, with: *)
     }
     
-    /// Returns an aggregate that substracts an aggregate with the `*` SQL operator.
-    ///
-    /// For example:
-    ///
-    ///     Author.annotated(with: Author.books.count * 2)
+    /// The `*` SQL operator.
     public static func * (lhs: Self, rhs: some SQLExpressible) -> Self {
         lhs.map { $0 * rhs }
     }
     
-    /// Returns an aggregate that substracts an aggregate with the `*` SQL operator.
-    ///
-    /// For example:
-    ///
-    ///     Author.annotated(with: 2 * Author.books.count)
+    /// The `*` SQL operator.
     public static func * (lhs: some SQLExpressible, rhs: Self) -> Self {
         rhs.map { lhs * $0 }
     }
     
-    /// Returns an aggregate that multiplies two aggregates with the `/` SQL operator.
-    ///
-    /// For example:
-    ///
-    ///     Author.annotated(with: Author.books.count / Author.paintings.count)
+    /// The `/` SQL operator.
     public static func / (lhs: Self, rhs: Self) -> Self {
         combine(lhs, rhs, with: /)
     }
     
-    /// Returns an aggregate that substracts an aggregate with the `/` SQL operator.
-    ///
-    /// For example:
-    ///
-    ///     Author.annotated(with: Author.books.count / 2)
+    /// The `/` SQL operator.
     public static func / (lhs: Self, rhs: some SQLExpressible) -> Self {
         lhs.map { $0 / rhs }
     }
     
-    /// Returns an aggregate that substracts an aggregate with the `/` SQL operator.
-    ///
-    /// For example:
-    ///
-    ///     Author.annotated(with: 2 / Author.books.count)
+    /// The `/` SQL operator.
     public static func / (lhs: some SQLExpressible, rhs: Self) -> Self {
         rhs.map { lhs / $0 }
     }


// MARK: - LENGTH(...)

/// Returns an aggregate that evaluates the `LENGTH` SQL function on the
/// input aggregate.
public func length<RowDecoder>(_ aggregate: AssociationAggregate<RowDecoder>)
-> AssociationAggregate<RowDecoder>
{

// MARK: - Comparison Operators (<, >, <=, >=)

extension AssociationAggregate {
    /// The `<=` SQL operator.
    public static func <= (lhs: Self, rhs: Self) -> Self {
        combine(lhs, rhs, with: <=)
    }
    
    /// The `<=` SQL operator.
    public static func <= (lhs: Self, rhs: some SQLExpressible) -> Self {
        lhs.map { $0 <= rhs }
    }
    
    /// The `<=` SQL operator.
    public static func <= (lhs: some SQLExpressible, rhs: Self) -> Self {
        rhs.map { lhs <= $0 }
    }
    
    /// The `<` SQL operator.
    public static func < (lhs: Self, rhs: Self) -> Self {
        combine(lhs, rhs, with: <)
    }
    
    /// The `<` SQL operator.
    public static func < (lhs: Self, rhs: some SQLExpressible) -> Self {
        lhs.map { $0 < rhs }
    }
    
    /// The `<` SQL operator.
    public static func < (lhs: some SQLExpressible, rhs: Self) -> Self {
        rhs.map { lhs < $0 }
    }
    
    /// The `>` SQL operator.
    public static func > (lhs: Self, rhs: Self) -> Self {
        combine(lhs, rhs, with: >)
    }
    
    /// The `>` SQL operator.
    public static func > (lhs: Self, rhs: some SQLExpressible) -> Self {
        lhs.map { $0 > rhs }
    }
    
    /// The `>` SQL operator.
    public static func > (lhs: some SQLExpressible, rhs: Self) -> Self {
        rhs.map { lhs > $0 }
    }
    
    /// The `>=` SQL operator.
    public static func >= (lhs: Self, rhs: Self) -> Self {
        combine(lhs, rhs, with: >=)
    }
    
    /// The `>=` SQL operator.
    public static func >= (lhs: Self, rhs: some SQLExpressible) -> Self {
        lhs.map { $0 >= rhs }
    }
    
    /// The `>=` SQL operator.
    public static func >= (lhs: some SQLExpressible, rhs: Self) -> Self {
        rhs.map { lhs >= $0 }
    }
