O que significa “typename =” nos parâmetros do modelo?

Vi essa expressão na página 189 do livro "Effective Modern C ++":

    template<typename T,
             typename = typename std::enable_if<condition>::type>
    explicit Person(T&& n);

Eu só estou querendo saber o que faz a parte "typename ="mean. Certamente parece um argumento padrão para um parâmetro de modelo. Mas você não precisa de algo como"typename some_name = ..."em um argumento padrão? Não há nome para o segundo argumento do modelo e não vejo o segundo argumento do modelo sendo usado neste caso.

P.S. Quando procuro uma resposta no google (ou em qualquer outro mecanismo de pesquisa), o sinal de igual é sempre descartado, e isso apenas torna quase impossível encontrar uma resposta ...

questionAnswers(1)

yourAnswerToTheQuestion