Under what condition does this conditional conformance make `Pair` itself `Equatable`?
struct Pair<A, B> {
let a: A
let b: B
}
extension Pair: Equatable where A: Equatable, B: Equatable {
static func == (l: Pair, r: Pair) -> Bool {
l.a == r.a && l.b == r.b
}
}