When your command is used, your function will only be called if the arguments and
switches comply with the rules that you have declared. The framework will package
the argument and switch(es) into a namespace and pass this as the second element of
the argument to RunArgin our example.
However, when running a cmd that has an empty parse-string (i.e. no arguments, so that "optional" arguments might be used "If you don‟t declare the number of arguments, any number of arguments will be accepted (including 0)."), the "Arg" that is passed to Run is a string (containing everything entered after the name of the command), not a namespace.
So...are u going to adopt the doco or modify the program?