That is not an implementation detail of the same sort of feature. It is just a totally different feature.
OK not totally different but different enough: you cannot just write a fuction with a type parameter and expect it to work with multiple different types in C as you can in C++.