anchor.diff:        if (source != null && allIndexed && typeVariables.isEmpty) {
           copyRuntimeTypeInfo(source, newObject);
         } else {
  -        callSetRuntimeTypeInfo(classElement, typeArguments, newObject);
  +        newObject =
  +            callSetRuntimeTypeInfo(classElement, typeArguments, newObject);
         }
       }
   
  
positive.code:       }
        instruction = buildLiteralList(inputs);
        add(instruction);
        setRtiIfNeeded(instruction, node);
      }
  
      TypeMask type =
  
negative.code:         add(new HForeign(
                code, backend.nullType, [stack.last], canThrow: true));
        }
      } else if (isGrowableListConstructorCall) {
        js.Expression code = js.js.parseForeignJS('Array()');
        var behavior = new native.NativeBehavior();
        behavior.typesReturned.add(expectedType);
        push(new HForeign(code, elementType, inputs, nativeBehavior: behavior));
      } else {
        ClassElement cls = constructor.getEnclosingClass();
        if (cls.isAbstract && constructor.isGenerativeConstructor()) {
  