std::views::zip is a C++23 range adaptor that pairs corresponding elements from multiple input ranges. Iterating the view produces tuples of references without copying or joining the underlying collections. section 9.3.5 section 9.4
Pairing slot-machine reels with player choices
A slot game keeps reels and player choices in separate vectors. Instead of indexing both collections, structured bindings name each tuple element directly: `for (auto [reel, option] : std::views::zip(reels, choice.value())) { move_reel(reel, option, random_fn); }`. The loop advances through both vectors together and passes each reel with its corresponding option. section 9.3.5
