     }
 }
 
-extension Association where Self: SelectionRequest {
+// SelectionRequest conformance
+extension Association {
     
     /// Creates an association which selects *selection*.
     ///

    }
}

extension Association where Self: TableRequest {
    public var databaseTableName: String {
        _sqlAssociation.destination.relation.source.tableName
    }
}

extension Association where Self: AggregatingRequest {
    /// Creates an association grouped according to *expressions promise*.
    public func group(_ expressions: @escaping (Database) throws -> [SQLExpressible]) -> Self {
        mapDestinationRelation { $0.group { try expressions($0).map(\.sqlExpression) } }

    }
}

// FilteredRequest conformance
extension Association {
    /// Creates an association with the provided *predicate promise* added to
    /// the eventual set of already applied predicates.
    ///
