 }
 
 fileprivate extension ArgumentInfoV0.KindV0 {
-  init(argument: ArgumentDefinition) {
+  init?(argument: ArgumentDefinition) {
     switch argument.kind {
     case .named:
       switch argument.update {

    let arguments = commandStack
      .allArguments()
      .mergingCompositeArguments()
      .map(ArgumentInfoV0.init)

    self = CommandInfoV0(
      superCommands: superCommands,

}

fileprivate extension ArgumentInfoV0 {
  init?(argument: ArgumentDefinition) {
    guard let kind = ArgumentInfoV0.KindV0(argument: argument) else { return nil }
    self.init(
      kind: kind,
      shouldDisplay: argument.help.shouldDisplay,
      isOptional: argument.help.options.contains(.isOptional),
      isRepeating: argument.help.options.contains(.isRepeating),
