annotation added
a demo of combined template and polymorphism