public static NonTerminalCommandBuilder <TSettings> AddOption <TSettings, TPropertyValue>(
     this NonTerminalCommandBuilder <TSettings> commandBuilder,
     string longForm,
     Expression <Func <TSettings, TPropertyValue> > property,
     Conversion <TPropertyValue> conversion)
     where TSettings : new()
 => commandBuilder.AddOption(longForm, null, property, conversion);
 public static NonTerminalCommandBuilder <TSettings> AddOption <TSettings, TPropertyValue>(
     this NonTerminalCommandBuilder <TSettings> commandBuilder,
     string longForm,
     string?shortForm,
     Expression <Func <TSettings, TPropertyValue> > property,
     Conversion <TPropertyValue> conversion)
     where TSettings : new()
 => commandBuilder.AddOption(OptionDefinition <TSettings> .Create(longForm, shortForm, property, conversion));