A lot of error checking needs to make the decision between using error 40 for invalid call to routine vs error 93 for invalid call to method. This can be somewhat confusing, as functions are sometimes just passthroughs to methods, messages generally refer to argument position, which can shift when function calls are converted to method calls and the methods perform the argument checks.
It would be more convenient if there was a major error code for 'Invalid argument', with subcodes for the different common error conditions for arguments. All references to specific arguments should be by name, not by ordinal position.
It's not necessary that existing messages be converted over to these new errors, but it would be a good idea to start adding the new messages so they can be used for new development.