anchor.diff:  
   import '../../../../generator.dart';
   
  -mixin MapProjection on WinRTMethodProjection {
  -  String _mapTypeFromTypeIdentifier(TypeIdentifier typeIdentifier) {
  +mixin _MapProjection on WinRTMethodProjection {
  +  /// Returns the type argument, as represented in the [typeIdentifier].
  +  String mapTypeArgFromTypeIdentifier(TypeIdentifier typeIdentifier) {
       final typeProjection = TypeProjection(typeIdentifier);
       if (typeProjection.isObject) return 'Object';
       if (typeProjection.isString) return 'String';
  
positive.code: }
  
  class WinRTGetPropertyReturningMapViewProjection
      extends WinRTGetPropertyProjection with MapProjection {
    WinRTGetPropertyReturningMapViewProjection(super.method, super.vtableOffset);
  
    @override
    String toString() => '''
        Map<$mapTypes> get $exposedMethodName {
          final retValuePtr = calloc<COMObject>();
  
          ${ffiCall()}
  
          try {
            return IMapView<$mapTypes>.fromRawPointer(retValuePtr$mapArgs).toMap();
          } finally {
            free(retValuePtr);
          }
  
negative.code: }
  
  class WinRTMethodReturningMapProjection extends WinRTMethodProjection
      with _MapProjection {
    WinRTMethodReturningMapProjection(super.method, super.vtableOffset);
  
    @override
    String toString() => '''
        IMap<$mapTypeArgs> $camelCasedName($methodParams) {
          final retValuePtr = calloc<COMObject>();
          $parametersPreamble
          ${ffiCall()}
          $parametersPostamble
          return IMap.fromRawPointer(retValuePtr$mapConstructorArgs);
        }
    ''';
  }
  
  class WinRTGetPropertyReturningMapProjection extends WinRTGetPropertyProjection
      with _MapProjection {
    WinRTGetPropertyReturningMapProjection(super.method, super.vtableOffset);
  
    @override
    String toString() => '''
        IMap<$mapTypeArgs> get $exposedMethodName {
          final retValuePtr = calloc<COMObject>();
  
          ${ffiCall()}
  
          return IMap.fromRawPointer(retValuePtr$mapConstructorArgs);
        }
    ''';
  }
  
  class WinRTMethodReturningMapViewProjection extends WinRTMethodProjection
      with _MapProjection {
    WinRTMethodReturningMapViewProjection(super.method, super.vtableOffset);
  
    @override
    String toString() => '''
        Map<$mapTypeArgs> $camelCasedName($methodParams) {
          final retValuePtr = calloc<COMObject>();
          $parametersPreamble
          ${ffiCall()}
  
          try {
            return IMapView<$mapTypeArgs>.fromRawPointer(retValuePtr$mapConstructorArgs).toMap();
          } finally {
            $parametersPostamble
            free(retValuePtr);
  