**Link:** https://wg21.link/P2165R4 Changes to be done: - Update `basic_common_reference` and `common_type` specializations. - Constrain `tuple_cat`, `apply`, and `make_from_tuple`. - Note that there are already some similar extensions in `tuple_cat`, and perhaps we want to implement the standard forms in C++23. - Add new constructors and assignment operators to `tuple`. - [P2255R2](https://wg21.link/p2255r2) made the new constructor conditionally deleted, see #130403. - ~Add new comparison operators to `tuple`.~ Done in https://github.com/llvm/llvm-project/pull/151808. - Note that the new comparison operators are hidden friends, while the old ones are not.