I would like to run some async workflow, then wait for it to finish before printing some results, example:
let dowork n =
async {
do printfn \"wo
I found that it's convenient to use MailboxProcessor to make sure that all side-effects (e.g. printfn) happen on the same thread. Use MailboxProcessor.PostAndReply(singleResult) to funnel work results (be it just the strings to print) into the same synchronization context, and provide for another message type that returns aggregate values. One could use a union for types of these messages.