Определить, является ли тип std :: tuple?

В настоящее время у меня есть две функции:

template<typename Type> bool f(Type* x);
template<typename... List> bool f(std::tuple<List...>* x);

Есть ли способ объединить эти две функции с дополнительным параметром шаблона, который указывает, является ли передаваемый тип кортежем?

template<typename Type, bool IsTuple = /* SOMETHING */> bool f(Type* x);