C++ templates: all group templates have a common base
Most C++ templates now using common base, much simpler