Also same question for variant, array.
A related question answerd why it use compile-time parameter, but not why not design its api as a member function.(Why are C++ tuples so weird?)
tuple.get<int>()
looks more semantic than std::get<int>( some_tuple )