Task<B> redeem<B>(Function1<Object, B> recover, Function1<A, B> map) => attempt().map((a) => a.fold(recover, map));