anchor.diff:        VariableModel<Variable, Type>? info = variableInfo[variable];
         if (info == null) {
           (newVariableInfo ??=
  -            new Map<Variable, VariableModel<Variable, Type>>.from(
  +            new Map<Variable?, VariableModel<Variable, Type>>.of(
                   variableInfo))[variable] = new VariableModel<Variable, Type>(
               promotedTypes: null,
               tested: const [],
  
positive.code:           _assignedVariables._anywhere._written.contains(entry.key)) {
          continue;
        }
        (newKnownTypes ??= new Map<Variable, Type>.from(_knownTypes))[entry.key] =
            entry.value;
      }
      if (newKnownTypes != null) _knownTypes = newKnownTypes;
  
negative.code:           info.discardPromotionsAndMarkNotUnassigned();
        if (!identical(info, newInfo)) {
          (newVariableInfo ??=
              new Map<Variable?, VariableModel<Variable, Type>>.of(
                  variableInfo))[variable] = newInfo;
        }
      }
  