anchor.diff:      for (DartType argument in type.typeArguments) {
         arguments.add(analyzeTypeArgument(argument));
       }
  +    // TODO(15489): Register at codegen.
       compiler.enqueuer.codegen.registerInstantiatedType(type, elements);
       return callSetRuntimeTypeInfo(type.element, arguments, object);
     }
  
positive.code:     type.typeArguments.forEach((DartType argument) {
        inputs.add(analyzeTypeArgument(argument));
      });
      return callSetRuntimeTypeInfo(type.element, inputs, newObject);
    }
  
  
negative.code:               code, backend.nullType, [stack.last], canThrow: true));
        }
      } else if (isGrowableListConstructorCall) {
        push(buildLiteralList(<HInstruction>[]));
        stack.last.instructionType = elementType;
      } else {
        ClassElement cls = constructor.getEnclosingClass();
        if (cls.isAbstract && constructor.isGenerativeConstructor()) {
  