
I somehow mangled what I meant beyond recognition (although I think Vladimir understood my intention) There already exists the capability: value<type>(&variable)->default_value(default,"displayed version of default") which gives a usage string -option: arg (=displayed version of default) I was asking for something like: value<type>(&variable)->default_value(default,"displayed version of default","displayed version of argument type") which would give -option: displayed version of argument type (=displayed version of default) Although, ->type_text("displayed version of argument type")->default_value(default)->default_text("displayed version of default") might be considered more legible. I prefer the existing positional arguments overload (the meaning should be obvious from context as well as library documentation, and remember, you'll be typing many of these options) Also, I'm not sure why 0-argument items couldn't appear in a config file. I declare the number of arguments used by options before I parse the config file, after all. -Jonathan