anchor.diff:        _allocateInvocationMirror ??= libraryIndex.getMember(
             'dart:core', '_InvocationMirror', '_allocateInvocationMirror');
   
  +  Procedure _unsafeCast;
  +  Procedure get unsafeCast => _unsafeCast ??=
  +      libraryIndex.getTopLevelMember('dart:_internal', 'unsafeCast');
  +
     void _genConstructorInitializers(Constructor node) {
       bool isRedirecting =
           node.initializers.any((init) => init is RedirectingInitializer);
  
positive.code:           new Arguments(node.arguments.positional, named: node.arguments.named);
      }
      _genArguments(null, args);
      _genStaticCallWithArgs(node.target, args, isFactory: node.target.isFactory);
    }
  
    @override
  
negative.code:   @override
    visitStaticInvocation(StaticInvocation node) {
      Arguments args = node.arguments;
      final target = node.target;
      if (target == unsafeCast) {
        // The result of the unsafeCast() intrinsic method is its sole argument,
        // without any additional checks or type casts.
        assert(args.named.isEmpty);
        args.positional.single.accept(this);
        return;
      }
      if (target.isFactory) {
        final constructedClass = target.enclosingClass;
        if (hasInstantiatorTypeArguments(constructedClass)) {
          _genTypeArguments(args.types, instantiatingClass: constructedClass);
        } else {
          assert(args.types.isEmpty);
          // VM needs type arguments for every invocation of a factory
  