The C++ Solution: Templates
Templates are “typeless” functions
The compiler automatically creates one version of the function for each type on which the function is used
This function can be inline or not
Type-checking rules are vague (return type is not considered)