anchor.diff:          ? mdTypeDef.interfaces.first.typeName.split('.').last
           : '';
   
  -    final projection = TypeBuilder.projectWindowsType(mdTypeDef)
  +    final projection = ClassProjector(mdTypeDef).projection
         ..inherits = parentInterface
         ..vtableStart = type.vTableStart
         ..sourceType = SourceType.com
  
positive.code:       ..clsid = clsid
        ..className = type.typeName.split('.').last.substring(1);
  
      final dartClass = TypePrinter.printType(projection);
  
      final outputFilename = type.typeName.split('.').last;
      final outputFile =
  
negative.code: ];
  
  void main(List<String> args) {
    final scope =
        MetadataStore.getScopeForFile(File('tool/win32/Windows.Win32.winmd'));
  
    final outputDirectory = (args.length == 1)
        ? Directory(args.first)
  