Also, in general: if you expose a *reader* attribute, you should expose something that is frozen, to prevent external mutation.  It was kind of a surprise to me that this actually exposes *mutable* state, changed by option parsing!