MailboxProcessor e exceções

Eu quero saber porqueMailboxProcessorA estratégia padrão de lidar com exceções é apenasignore silenciosamente eles. Por exemplo:

let counter =
    MailboxProcessor.Start(fun inbox ->
        let rec loop() =
            async { printfn "waiting for data..."
                    let! data = inbox.Receive()
                    failwith "fail" // simulate throwing of an exception
                    printfn "Got: %d" data
                    return! loop()
            }
        loop ())
()
counter.Post(42)
counter.Post(43)
counter.Post(44)
Async.Sleep 1000 |> Async.RunSynchronously

e nada acontece. Não há parada fatal da execução do programa ou surge uma caixa de mensagem com "Uma exceção não tratada". Nada.

Esta situação se agrava se alguém usaPostAndReply método: um impasse garantido como resultado.

Quaisquer razões para tal comportamento?

questionAnswers(2)

yourAnswerToTheQuestion