     ///     let association = Player.team.reversed()
     ///     var request = Player.including(required: association)
     public func reversed() -> Self {
-        return mapRelation { $0.reversed() }
+        return mapDestinationRelation { $0.reversed() }
     }
     
     /// Creates an association with the given key.

    /// associated record are not selected. The returned association does not
    /// require that the associated database table contains a matching row.
    public func joining<A: Association>(optional association: A) -> Self where A.OriginRowDecoder == RowDecoder {
        return mapRelation {
            $0.joining(optional: association.sqlAssociation)
        }
    }

    /// associated record are selected. The returned association does not
    /// require that the associated database table contains a matching row.
    public func including<A: Association>(optional association: A) -> Self where A.OriginRowDecoder == RowDecoder {
        return mapDestinationRelation {
            $0.including(optional: association.sqlAssociation)
        }
    }
