Em modelos, onde e por que eu tenho que colocar typenamee templatesobre os nomes dos dependentes? Quais são exatamente os nomes dependentes, afinal? Eu tenho o seguinte código: template <typename T, typename Tail> // Tail will be a UnionNode too. struct UnionNode : public Tail { // ......