Palavra-chave "as" no OCaml

Nas respostas para os tutoriais para OCaml disponíveis emesse site, algumas das soluções, incluindo a que elimina duplicatas consecutivas dos elementos da lista, são escritas da seguinte forma:

let rec compress = function
    | a :: (b :: _ as t) -> if a = b then compress t else a :: compress t
    | smaller -> smaller;;

Qual é a relevância da linhaa :: (b:: _ as t)? Por que não consigo escrever comoa :: b :: t em vez de?

questionAnswers(2)

yourAnswerToTheQuestion