Template vs. Inheritance