anchor.diff:          compiler.listClass.lookupConstructor(
               new Selector.callConstructor(const SourceString(''),
                                            compiler.listClass.getLibrary()));
  +    nullTypeMask = new TypeMask.exact(compiler.nullClass.computeType(compiler));
     }
   
     /**
  
positive.code: 
    // -- query --
  
    TypeMask fromBaseTypeToTypeMask(BaseType baseType) {
      if (!baseType.isClass()) return null;
      ClassBaseType classBaseType = baseType;
      ClassElement cls = classBaseType.element;
      return new TypeMask.nonNullExact(cls.rawType);
    }
  
    TypeMask fromConcreteToTypeMask(ConcreteType concreteType) {
      if (concreteType == null) return null;
      TypeMask typeMask;
      for (BaseType baseType in concreteType.baseTypes) {
        TypeMask current = fromBaseTypeToTypeMask(baseType);
        typeMask = typeMask == null ? current : typeMask.union(current, compiler);
      }
      return typeMask;
    }
  
    /**
  
negative.code:    */
    FunctionElement listConstructor;
  
    /// The [TypeMask] representing [:null:].
    TypeMask nullTypeMask;
  
    /**
     * A cache from (function x argument base types) to concrete types,
     * used to memoize [analyzeMonoSend]. Another way of seeing [cache] is as a
  