When wrapping an asynchronous operation in F# with Async.StartAsTask the returned type will be of Task<unit>. This makes users of an interface depend on the F# core libraries. Is there a recommended practice to avoid this, or is it generally the accepted behaviour to leave it at it's default?
You can simply upcast the Task<Unit> to a Task as you don't need the access to the generic result. 
E.g.
let taskOfUnit = asyncOfUnit |> Async.StartAsTask
taskOfUnit :> Task
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With