Flags are kind of an argument, so they already share most of the same properties. Should this be unified? The `addFlag` method would then create an argument, but with different options set.