let is_error ?(status=[0]) = function
    | Task.Result r -> not (List.mem r status)
    | Task.Canceled -> false
    | Task.Failed _ -> true