anchor.diff:            final newScope = WinmdStore.getScopeForType(typeName);
             return newScope.findTypeDef(typeName);
           } catch (exception) {
  -          throw WinmdException(
  -              'Unable to find scope for $typeName [${typeRefToken.toHexString(32)}]...');
  +          if (systemTokens.containsValue(typeName)) {
  +            return WinmdType(reader, 0, typeName);
  +          } else {
  +            throw WinmdException(
  +                'Unable to find scope for $typeName [${typeRefToken.toHexString(32)}]...');
  +          }
           }
         } else {
           throw WindowsException(hr);
  
positive.code:     // a token like IInspectable is out of reach of GetTypeRefProps, since it is
      // a plain COM object. These objects are returned as system types.
      if (systemTokens.containsKey(typeRefToken)) {
        return WinmdType(reader!, 0, systemTokens[typeRefToken]);
      }
  
      try {
        final hr = reader!.GetTypeRefProps(
            typeRefToken, ptkResolutionScope, szName, 256, pchName);
  
        if (SUCCEEDED(hr)) {
  
negative.code:   /// Unless the TypeRef token is `IInspectable`, the COM parent interface for
    /// Windows Runtime classes, the TypeRef is used to obtain the host scope
    /// metadata file, from which the TypeDef can be found and returned.
    factory WinmdType.fromTypeRef(IMetaDataImport2 reader, int typeRefToken) {
      final ptkResolutionScope = allocate<Uint32>();
      final szName = allocate<Uint16>(count: 256).cast<Utf16>();
      final pchName = allocate<Uint32>();
  