let result = function | Task.Result Valid -> Wpo.Valid | Task.Result Invalid -> Wpo.Invalid | Task.Result Unknown -> Wpo.Unknown | Task.Canceled -> Wpo.Timeout | Task.Failed exn -> Wpo.Failed (Printexc.to_string exn)