I've long felt icky about using Async.Ignore. Seeing the Async.ignore that's presently hiding in plain sight here makes me realise the absence of a Task.ignore and ValueTask.ignore from FSharp.Core is something I've also been grinning and bearing (sprinkling :> Task and all sorts of other such mindless hacks). Utils.fs presently has helpers that feel very tempting to use more broadly. However, binding to a set of support helpers on the fringe of this library's core feature set is obviously debatable.
(The other pair from here that I feel deserves a canonical implementation in a library that doesn't include a jungle of other less-related helpers is Async.ofTask/Task.toAsync, but with corrected AggregateException semantics, and honoring of Async.Cancellation when compared to Async.AwaitTask as per FSharp.Core. Will likely calve off a separate issue from this if placeholder FSharp.Core.TaskShims package/repo is deemed to be the best home for a set of ignore helpers)
related:
I've long felt icky about using
Async.Ignore. Seeing theAsync.ignorethat's presently hiding in plain sight here makes me realise the absence of aTask.ignoreandValueTask.ignorefrom FSharp.Core is something I've also been grinning and bearing (sprinkling:> Taskand all sorts of other such mindless hacks).Utils.fspresently has helpers that feel very tempting to use more broadly. However, binding to a set of support helpers on the fringe of this library's core feature set is obviously debatable.(The other pair from here that I feel deserves a canonical implementation in a library that doesn't include a jungle of other less-related helpers is
Async.ofTask/Task.toAsync, but with correctedAggregateExceptionsemantics, and honoring ofAsync.Cancellationwhen compared toAsync.AwaitTaskas perFSharp.Core. Will likely calve off a separate issue from this if placeholderFSharp.Core.TaskShimspackage/repo is deemed to be the best home for a set ofignorehelpers)related:
AwaitTaskCorrectto FSharp.Core suggestion