Represents a (semantically unique) command-line argument (option or positional alike).
The semantics of a command-line argument depends on how it is created, and includes:
* arguments conjunction (a "set" of arguments)
* arguments disjunction (a mutually exclusive set of arguments)
* options (which may be mandatory)
* positional arguments (which may be fixed at a given index)
"Simple" options and positional arguments may be set zero times (if not is_mandatory), once, or more
(if is_repeatable), depending on the argument configuration.