Task<A> handleErrorWith(Function1<Object, Task<A>> f) => attempt().flatMap((a) => a.fold(f, Task.value));