code: public <A, B, ERR> OrFuture<Tuple2<A, B>, Every<ERR>>
    zip(OrFuture<? extends A, ? extends Every<? extends ERR>> a,
        OrFuture<? extends B, ? extends Every<? extends ERR>> b) {
      return withGood(a, b, Tuple::of);
    }
docs: Zips two accumulating OrFutures together. If both complete with Goods, returns an OrFuture
  that completes with a Good tuple containing both original Good values. Otherwise returns an
  OrFuture that completes with a Bad containing every error message.
  
  @param <A>   the success type
  @param <B>   the success type
  @param <ERR> the error type of the accumulating OrFutures
  @param a     the first OrFuture to zip
  @param b     the second OrFuture to zip
  @return an OrFuture that completes with a Good of type Tuple2 if both OrFutures completed
  with Goods, otherwise returns an OrFuture that completes with a Bad containing every error.