anchor.diff:    void visitMethodInvocation(MethodInvocation node) {
       _writeByte(Tag.MethodInvocation);
   
  -    if (_shouldWriteResolution) {
  -      _resolutionSink!.writeByte(MethodInvocationRewriteTag.none);
  +    var resolutionSink = _resolutionSink;
  +    if (resolutionSink != null) {
  +      resolutionSink.writeByte(MethodInvocationRewriteTag.none);
       }
   
       _writeByte(
  
positive.code:     );
      _writeDeclarationName(node.name);
  
      if (_shouldWriteResolution) {
        // TODO(scheglov) Enforce not null, remove `?` in `?.type` below.
        var element = node.declaredElement as VariableElementImpl;
        _writeMarker(MarkerTag.VariableDeclaration_type);
        _writeActualType(element.type);
        _writeMarker(MarkerTag.VariableDeclaration_inferenceError);
        _writeTopLevelInferenceError(element);
        if (element is FieldElementImpl) {
          _writeMarker(MarkerTag.VariableDeclaration_inheritsCovariant);
          _resolutionSink!.writeByte(element.inheritsCovariant ? 1 : 0);
        }
      }
  
  
negative.code:     _writeMarker(MarkerTag.FunctionTypeAlias_typeAlias);
      _storeTypeAlias(node);
  
      var resolutionSink = _resolutionSink;
      if (resolutionSink != null) {
        var element = node.declaredElement as FunctionTypeAliasElementImpl;
        _writeMarker(MarkerTag.FunctionTypeAlias_returnTypeType);
        _writeActualReturnType(resolutionSink, element.function.returnType);
        // TODO(scheglov) pack into one byte
        _writeMarker(MarkerTag.FunctionTypeAlias_flags);
        resolutionSink.writeByte(element.isSimplyBounded ? 1 : 0);
        resolutionSink.writeByte(element.hasSelfReference ? 1 : 0);
  
        resolutionSink.localElements.popScope();
      }
  
      _writeMarker(MarkerTag.FunctionTypeAlias_end);
  