anchor.diff:  /// and recursively add help to all sub-commands' parsers.
   class Usage {
   
  -  /// Name.
  -  String get name {
  -    if(commandPath.isNotEmpty) return commandPath.last;
  -    return null;
  -  }
  +  /// The name used to invoke this command.
  +  final String name = null;
  +
  +  /// The parent command's usage.  This is null for root commands.
  +  final Usage parent = null;
   
     /// A simple description of what this script does, for use in help text.
     String description;
  
positive.code:           help: 'Print this usage information.',
            negatable: false));
  
  
    List<String> get commandPath => [];
    List<ArgExample> _examples = [];
    List<ArgExample> _examplesView;
    List<ArgExample> get examples {
  
negative.code: class _SubCommandUsage extends Usage {
  
    final Usage parent;
    final String name;
  
    CallStyle get callStyle => parent.callStyle;
  
    _SubCommandUsage(this.parent, this.name);
  
    ArgParser _getParser() => parent.parser.commands[name];
  }
  
  class CommandInvocation {
  