Here's Guido's take on it:
http://www.artima.com/weblogs/viewpost.jsp?thread=4829
Dave's version helped me get the point of all this, thanks.
Nitpicking, I think Skip's is imperfectly from memory since
opts, args = getopt.getopt(args, "h", ["help"])
doesn't seem to match
for opt, arg in opts:
mt