All creates a Future for each provided Func, running each in its own goroutine. Results of each Future are exposed
via an iter.Seq2 that can be ranged over. The first value of the iter.Seq2 is the return type of the Future, the
second is any error that has occurred.
Do returns a new Future that executes the given Func implementation. The function is invoked immediately within
its own goroutine and its return value is made accessible via the Result method. The provided context is passed
into the Func call for cancellation.
Result returns the result of the Future. If the invoked Func is still in-progress, this method blocks until the
Func has returned or the provided context is cancelled.