Redeclaration of named tuple members

How about the following, which is currently allowed, and will continue to be allowed even after tuple shuffling is deprected, and is caused by the == operator that accepts any two tuples with matching element types and ignores their labels:

func test() {
    let ten = 10
    let rq = (remainder: 3, quotient: 1)
    let qr = ten.quotientAndRemainder(dividingBy: 3)
    print(qr == rq) // true <--- What? So 3 * 1 + 3 == 10 ... !?
    print(type(of: rq) == type(of: qr)) // false
}
test()

IMHO it shouldn't even be OK to, without explicit intent, check two values of different types for equality like this.