F # O padrão incompleto corresponde a essa expressão ao usar "when" .. Por quê?

Eu tenho essa função F # simples:

let compareNum x =
    let y = 10
    match x with
    | _ when x = y -> 0
    | _ when x > y -> 1
    | _ when x < y -> -1

No entanto, o compilador F # me fornece o aviso "Correspondências incompletas de padrão nesta expressão". Nesse caso, todos os casos devem cobrir todos os padrões.

Também vejo um exemplo semelhante na seção "Correspondência de padrões" na 1ª edição do livro Programming F # de Chris Smith. Então, algo pode ser alterado na versão posterior do F #?

questionAnswers(1)

yourAnswerToTheQuestion