MailboxProcessor y excepciones

Me pregunto porqueMailboxProcessorLa estrategia por defecto de manejo de excepciones es soloignorar en silencio ellos. Por ejemplo:

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

y no pasa nada No hay una parada fatal de la ejecución del programa, o aparece un cuadro de mensaje con "Una excepción no controlada". Nada.

Esta situación empeora si alguien la usa.PostAndReply Método: un punto muerto garantizado como el resultado.

¿Alguna razón para tal comportamiento?

Respuestas a la pregunta(2)

Su respuesta a la pregunta