anchor.diff:      ddcSuccess = false;
     }
     if (obj == null) {
  -    dartSuccess =
  -        staticType == Object || staticType == dynamic || staticType == Null;
  +    dartSuccess = true;
     } else {
       // TODO(vsm): We could avoid mirror code by requiring the caller to pass
       // in obj is TypeLiteral as a parameter.  We can't do that once we have a
  
positive.code:           failure++;
          }
        }
      }
      final total = success + mismatch + error + failure;
      assert(total != 0);
  
negative.code:     int mismatch = 0;
      int error = 0;
      int failure = 0;
      Type staticType = null;
      var runtimeTypes = new Set<Type>();
      for (var record in records) {
        if (staticType == null) {
          staticType = record.staticType;
        } else {
          // Are these canonicalized?
          // assert(staticType == record.staticType);
        }
        runtimeTypes.add(record.runtimeType);
        if (record.ddcSuccess) {
          if (record.dartSuccess) {
            success++;
  