anchor.diff:              '`download` and `generate`.');
         }
   
  -      final configFile = commandOptions['config-file'] as String?;
  +      final configFile = commandOptions['config-file'] as String;
         final deleteExisting = commandOptions['delete-existing'] as bool;
         switch (commandOptions.command!.name) {
           case 'download':
  -          downloadFromConfiguration(configFile!).then((_) => print('Done!'));
  +          await downloadFromConfiguration(configFile);
  +          print('Done!');
             break;
           case 'generate':
             generateFromConfiguration(
  -            configFile!,
  +            configFile,
               deleteExisting,
             );
             print('Done');
  
positive.code: 
    switch (commandOptions.name) {
      case 'download':
        downloadDiscoveryDocuments(commandOptions['output-dir'] as String);
        break;
      case 'run_config':
        if (commandOptions.command == null ||
  
negative.code:   exit(1);
  }
  
  Future<void> main(List<String> arguments) async {
    final parser = globalArgParser();
    final options = parseArguments(parser, arguments);
    final commandOptions = options.command!;
  