Is it possible to have the last iterator change the fastest in Iterator.product?

One way to do that is to use reverse:

reverse.(res)

But you’ll probably want to first reverse the order of the arguments to product, too.