Consiglio: non complicarti la vita per niente. Questo è uno dei casi in cui l'astrazione del polimorfismo si mappa perfettamente sul problema e lo risolve in maniera semplice ed elegante: perché ti vuoi male e vuoi far su un pasticcio di template?