Is the *only* purpose of a *function signature* (as opp. to type) to define duplicates in a potential overload set - or are there other purposes?
Related to Why does casting a function to a function type that is identical except for return type fail? , I would like to understand, in a fuller way, the distinction between a function's type and a function's signature . For example, the type of a function must typically be considered when dealing with function pointers, and the type of the function includes the return type of that function. However, as noted in Mike Seymour's answer to the above-linked question, the signature of a function is different from the type of a function. The signature is certainly used to disambiguate from among