* When there is one or more unexpected positional argument: "Remove XXX unexpected argument; 'foo' expects YYY positional arguments."
* When there is one or more unexpected named argument: "Remove this unexpected named argument X"
* When the maximum number of positional arguments is reached and {empty}*args is given: "Remove "*XXX"; maximum number of positional arguments already reached."
* When the maximum number of keyword arguments is reached and {empty}*{empty}*kwargs is given: "Remove "**XXX"; maximum number of keyword arguments already reached."
* When there are missing positional arguments: "Add XXX missing arguments; 'foo' expects YYY positional arguments."
* When there are missing keyword arguments: "Add the missing keyword argument XXX"