Here is an attempt at an alternative explanation:
"When defining a dispatch for a function, the resulting dispatch matches given arguments against types and min/max occurrence  of optional entries. When the dispatch makes the call to the implementation method the arguments are simply passed and it is the responsibility of the method's implementor to ensure it can handle those arguments (i.e. there is no check that what was declared as optional actually has a default value, and that captures rest is declared that way)."