declaring templated inherited types issues