Noneas types, but that's off topic)
Task[_]as a return type
Eithercould have different error types, so you know that you need some transformations to get to the same
Instead of papering over the final type
Task.parMap2. The documentation states that the former is sequential, although the latter is parallel. But it seems, that the implementation of these two are the same except a subtle difference:
Task.map2calls non-static (but final anyway)
Task.zipMapfirst, which, in turn, calls that
Task.mapBoth. So, in my understanding, they both should behave in the same way. What does make one of them sequential and the other one parallel?