template<class... TTypes>
constexpr tuple<VTypes...> make_tuple(TTypes&&... t);
template<class... TTypes>
constexpr tuple<TTypes&&...> forward_as_tuple(TTypes&&... t) noexcept;
template<class... TTypes>
constexpr tuple<TTypes&...> tie(TTypes&... t) noexcept;
template <class... Tuples>
constexpr tuple<CTypes...> tuple_cat(Tuples&&... tpls);