since full specialization of function templates is okay in C++ (only partial specialization is not allowed for them).