anchor.diff:    ''';
   
     List<TypeDef> get implementsInterfaces => typeDef.interfaces
  +    ..removeWhere((interface) => excludedInterfaces.contains(interface.name))
       // Generic collections' typeDef returns an empty name and that breaks lots
       // of things. We need to ignore them for now
       ..removeWhere((interface) => interface.name.isEmpty);
  
positive.code:   String get relativePathToSrcDir => relativePathToSrcDirectory(File(
        '../../lib/src/winrt/${folderFromWinRTType(typeDef.name)}/$shortName.dart'));
  
    static const ignoredWinRTTypes = <String>{
      // This is exposed as dart:core's DateTime
      'Windows.Foundation.DateTime',
  
  
negative.code: 
      // This is exposed as dart:core's Duration
      'Windows.Foundation.TimeSpan',
  
      ...excludedInterfaces,
    };
  
    /// The WinRT interfaces to exclude when generating the implements mappers.
    static const excludedInterfaces = <String>{
      // INumberFormatter2's methods conflict with INumberFormatter's methods
      'Windows.Globalization.NumberFormatting.INumberFormatter2',
      // Contains deprecated APIs
      'Windows.Storage.Pickers.IFileOpenPicker2',
      // IFileOpenPickerWithOperationId's pickSingleFileAsync(String operationId)
      // method conflicts with IFileOpenPicker's pickSingleFileAsync() method
      'Windows.Storage.Pickers.IFileOpenPickerWithOperationId',
    };
  
    @override
    String getImportForTypeDef(TypeDef typeDef) {
      if (typeDef.name.isEmpty ||
          this.typeDef.name == typeDef.name ||
          ignoredWindowsRuntimeTypes.contains(typeDef.name)) {
        return '';
      }
  
  