Testing ``++%PARMS++`` before the use of one or more parameters is a clear indication in the code that at least some parameters are treated as optional. However, failure to actually mark those parameters as such with ``++options( *nopass )++`` denies callers the ability to treat them as optional. Since all parameters after the first one explicitly declared ``++options( *nopass )++`` are also implicitly optional, this marking is only required once. However, for clarity you should consider explicitly marking all optional parameters.