Ahh, can't believe I didn't even think of using grep (although I did write this code a while ago). Also, that well-placed last does the trick of a null default argument nicely. But, as far as the regexp on the grep goes, I guess that's up to the behavior you want. I typically make it case insensitive, but if you didn't want that, the eq would work fine of course.
The only other difference is the behavior on them using the default option I believe. In yours, it will treat the supplied default as one of the restricted arguments. I just wanted to be able to have a suggested argument that wasn't required (like a possible path to a file).
Thanks for the reply. ;)
----------------
BP -
DG -
WB