Generics are not templates. Using primitive types as generic parameters would be a problem. However, there is one way, but it would require a lot greater effort.
Please see my recent answer. The question is about Free Pascal, but my answer is about both Free Pascal and C# (.NET). This answer schematically explains how the problem can be solved, what would be the overhead, and what would be the rationale for using it, and all that makes the solution possible but questionable. I also tried to explain generics vs templates.