Por que o Equatable não está definido para matrizes opcionais

Alguém pode me dar um bom motivo para isso não funcionar:

let a: [Int]? = [1]
let b: [Int]? = nil
a == b

Essa seria a minha solução proposta (se deselegante). Mas é trivial, então sinto que estou perdendo uma boa razão pela qual isso não foi implementado.

func ==<T: Equatable>(lhs: [T]?, rhs: [T]?) -> Bool {

    if let lhs = lhs, let rhs = rhs {
        return lhs == rhs
    }
    else if let _ = lhs {
        return false
    }
    else if let _ = rhs {
        return false
    }

    return true
}

questionAnswers(1)

yourAnswerToTheQuestion