Como a correspondência de padrões funciona nos bastidores em F #?

Eu sou completamente novo em F # (e programação funcional em geral), mas vejo a correspondência de padrões usada em todos os lugares no código de exemplo. Estou me perguntando, por exemplo, como a correspondência de padrões realmente funciona? Por exemplo, imagino que funcione da mesma forma que um loop for em outros idiomas e verifique se há correspondências em cada item de uma coleção. Provavelmente isso está longe de ser correto, como realmente funciona nos bastidores?

questionAnswers(4)

yourAnswerToTheQuestion