anchor.diff:                  return receiver[a0];
             ''', typeCheck);
         } else {
  -        jsAst.Expression typeCheck;
  +        jsAst.Expression? typeCheck;
           if (containsArray) {
             typeCheck = arrayCheck;
           }
  
positive.code:     ]);
    }
  
    jsAst.ArrayInitializer generateTypeToInterceptorMap() {
      // TODO(sra): Perhaps inject a constant instead?
      CustomElementsCodegenAnalysis analysis = _customElementsCodegenAnalysis;
      if (!analysis.needsTable) return null;
  
      List<jsAst.Expression /*!*/ > elements = [];
      Iterable<ConstantValue> constants =
          _codegenWorld.getConstantsForEmission(_emitter.compareConstants);
      for (ConstantValue constant in constants) {
        if (constant is TypeConstantValue &&
            constant.representedType is InterfaceType) {
          InterfaceType type = constant.representedType;
          ClassEntity classElement = type.element;
          if (!analysis.needsClass(classElement)) continue;
  
  
negative.code:   // Returns a statement that takes care of performance critical
    // common case for a one-shot interceptor, or null if there is no
    // fast path.
    jsAst.Statement? _fastPathForOneShotInterceptor(
        Selector selector, Set<ClassEntity> classes) {
      if (selector.isOperator) {
        String name = selector.name;
  