The above discussion ignores the issue of default arguments in C++. We believe these can be handled by treating a declaration with a default argument as if it were a group of declarations of overloaded functions, all but one of which simply supply extra arguments and call the original function.