Since there is no specific statement on dataraces with these functions, then it would follow the general standard library rules on data races, as outlined in [res.on.data.races]/2-3.
Basically, so long as that thread is the only one accessing that particular tuple object, then it's fine. But accessing the same object, even with different values for the index, is not thread-safe. But if you access it in a `const` way, then it's fine.
Now, perhaps it should be protected. I'm not sure if such a change ought to be considered a defect or a proposal. But it seems clear that, with the current wording, it is not protected.