anchor.diff:    dump() {
       int interestingTypes = 0;
       int giveUpTypes = 0;
  -    returnTypeOf.forEach((Element method, TypeMask type) {
  +    returnTypeOf.forEach((Element element, TypeMask type) {
         if (isGiveUpType(type)) {
           giveUpTypes++;
         } else if (type != nullType && !isDynamicType(type)) {
           interestingTypes++;
         }
       });
  -    typeOf.forEach((Element method, TypeMask type) {
  +    typeOf.forEach((Element element, TypeMask type) {
         if (isGiveUpType(type)) {
           giveUpTypes++;
         } else if (type != nullType && !isDynamicType(type)) {
  
positive.code:           }
          }
          if (returnType == null) {
            returnType = new TypeMask.nonNullExact(
                mappedType.computeType(compiler));
          } else {
            return inferrer.dynamicType;
          }
  
negative.code:     compiler.log('Type inferrer re-analyzed methods $recompiles times '
                   'in ${recomputeWatch.elapsedMilliseconds} ms.');
      compiler.log('Type inferrer found $interestingTypes interesting '
                   'types and gave up on $giveUpTypes elements.');
    }
  
    /**
  