anchor.diff:      | [<CliPrefix(CliPrefix.None)>] Dump_Text of ParseResults<DumpTextArgs>
       | [<CliPrefix(CliPrefix.None)>] Export_Anki of ParseResults<ExportAnkiArgs>
       | [<CliPrefix(CliPrefix.None)>] Scan_For_Text of ParseResults<ScanForTextArgs>
  -    | [<MainCommand; HiddenAttribute>] Remainder of string
  +    | [<MainCommand>] Plugin_Arguments of string
       with
           interface IArgParserTemplate with
               member this.Usage =
  
positive.code:     | [<Inherit; EqualsAssignment>] Command_File of string
      | [<Inherit; EqualsAssignment>] Log_File of string
      | [<CliPrefix(CliPrefix.None)>] Import of ParseResults<ImportArgs>
      | [<CliPrefix(CliPrefix.None)>] List_Supported_Games
      | [<CliPrefix(CliPrefix.None)>] List_Games of ParseResults<ListGamesArgs>
      | [<CliPrefix(CliPrefix.None)>] List_Lessons of ParseResults<ListLessonsArgs>
      | [<CliPrefix(CliPrefix.None)>] Delete_Game of ParseResults<DeleteGameArgs>
  
negative.code:     |> Option.iter(fun cards -> cards |> Array.iter dumpCard)
  
  let rec parseCommands(cs: string array) = 
      let parser = ArgumentParser.Create<BaseArgs>(errorHandler = new ProcessExiter())
      let results = parser.Parse(cs)
  
      if (results.IsUsageRequested) || (results.GetAllResults() |> List.isEmpty) then
  