Use generic types for data members of tuple class