anchor.diff:  
     js_ast.Statement _dischargeFreeType(DartType type) {
       typeContainer.setNoEmit(type);
  -    var init = typeContainer[type];
  -    var id = _unboundTypeIds[type];
  +    var init = typeContainer[type]!;
  +    var id = _unboundTypeIds[type]!;
       // TODO(vsm): Change back to `let`.
       // See https://github.com/dart-lang/sdk/issues/40380.
       return js.statement('var # = () => ((# = #)());', [
  
positive.code:       // TODO(40273) Remove prepended text when we have a better way to hide
        // these names from debug tools.
        _unboundTypeIds[type] =
            js_ast.TemporaryId(escapeIdentifier('__t\$${_typeString(type)}'));
      }
  
      for (var free in freeVariables) {
  
negative.code:   if (type is InterfaceType) {
      var name = '${type.classNode.name}$nullability';
      var typeArgs = type.typeArguments;
      if (typeArgs.isEmpty) return name;
      if (typeArgs.every((p) => p == const DynamicType())) return name;
      return "${name}Of${typeArgs.map(_typeString).join("\$")}";
    }
  