static Conveyor<Both<L, R>, O> zipWith<L, R, O>(Function2<L, R, O> f) => consumeL<L, R, O>((L l) => consumeR((R r) => produce(f(l, r)))).repeatUntilExhausted();