anchor.diff:      var normArgs = args.map(normalizeHelper).toList();
       normType = JS('!', '#(...#)', genericClass, normArgs);
     }
  -  return wrapType(normType, isNormalized: true);
  +  return wrapType(normType, true);
   }
   
   /// Generates new values by applying [transform] to the values of [srcObject],
  
positive.code:     JS('', '#.push(#)', typeObjectIdKey, normFunc);
      var memoizedId = _memoizeArray(_gFnTypeTypeMap, typeObjectIdKey,
          () => GenericFunctionTypeIdentifier(formals, normBounds, normFunc));
      return wrapType(memoizedId, isNormalized: true);
    }
    var args = getGenericArgs(type);
    var normType;
  
negative.code:             type.requiredNamed)) {
        if (type.optionals.isEmpty) {
          var normType = fnType(normReturnType, normArgs);
          return wrapType(normType, true);
        }
        var normOptionals = type.optionals.map(normalizeHelper).toList();
        var normType = fnType(normReturnType, normArgs, normOptionals);
        return wrapType(normType, true);
      }
      var normNamed = JS('', '{}');
      _transformJSObject(type.named, normNamed, normalizeHelper);
  