anchor.diff:            VariableGet(function.positionalParameters.first),
             StringLiteral(_getExtensionMemberName(node))
           ], types: [
  -          DynamicType()
  +          function.returnType
           ]))
         ..fileOffset = node.fileOffset;
  -    return ReturnStatement(
  -        AsExpression(getPropertyInvocation, function.returnType));
  +    return ReturnStatement(getPropertyInvocation);
     }
   
     /// Returns a new function body for the given [node] external setter.
  
positive.code:   ReturnStatement _getExternalSetterBody(Procedure node) {
      var function = node.function;
      assert(function.positionalParameters.length == 2);
      var setPropertyInvocation = StaticInvocation(
          _setPropertyTarget,
          Arguments([
            VariableGet(function.positionalParameters.first),
            StringLiteral(_getExtensionMemberName(node)),
            VariableGet(function.positionalParameters.last)
          ], types: [
            DynamicType()
          ]))
        ..fileOffset = node.fileOffset;
      return ReturnStatement(AsExpression(
          _lowerSetProperty(setPropertyInvocation), function.returnType));
    }
  
    /// Returns a new function body for the given [node] external method.
  
negative.code:               .map((argument) => VariableGet(argument))
                .toList())
          ], types: [
            function.returnType
          ]))
        ..fileOffset = node.fileOffset;
      return ReturnStatement(_lowerCallMethod(callMethodInvocation));
    }
  
    /// Returns the extension member name.
  