anchor.diff:      var changes = innerPlan._getChanges(false);
       if (!parens) {
         changes ??= {};
  -      (changes[sourceNode.offset] ??= []).insert(0, const AtomicEdit.delete(1));
  -      (changes[sourceNode.end - 1] ??= []).add(const AtomicEdit.delete(1));
  +      (changes[offset] ??= []).insert(0, const AtomicEdit.delete(1));
  +      (changes[end - 1] ??= []).add(const AtomicEdit.delete(1));
       }
       return changes;
     }
  
positive.code:       }
      }
      changes += innerPlan._getChanges(parensNeeded);
      if (endsInCascade == null && innerPlan.sourceNode.end == node.end) {
        endsInCascade = !parensNeeded && innerPlan.endsInCascade;
      }
  
negative.code:     // Extract the inner expression.
      // TODO(paulberry): don't remove comments
      changes = _removeCode(
              offset,
              innerPlan.offset,
              _planner.removeViaComments
                  ? _RemovalStyle.commentSpace
                  : _RemovalStyle.delete,
              _infoBefore) +
          changes +
          _removeCode(
              innerPlan.end,
              end,
              _planner.removeViaComments
                  ? _RemovalStyle.spaceComment
                  : _RemovalStyle.delete,
  