Detectar se um tipo é um std :: tuple?

Atualmente tenho duas funções:

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

Existe alguma maneira de mesclar essas duas funções com um parâmetro de modelo extra que indica se o tipo passado é uma tupla?

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

questionAnswers(5)

yourAnswerToTheQuestion