anchor.diff:          }
         } else if (node.arguments.positional.length == 1) {
           var firstArg = node.arguments.positional[0];
  -        if (name == 'unwrapType' && firstArg is TypeLiteral) {
  -          return _emitType(firstArg.type);
  +        var type = getTypeLiteralType(firstArg);
  +        if (name == 'unwrapType' && type != null) {
  +          return _emitType(type);
           }
           if (name == 'extensionSymbol' && firstArg is StringLiteral) {
             return getSymbol(getExtensionSymbolInternal(firstArg.value));
  
positive.code:     return js_ast.PropertyAccess(js_ast.This(), jsMethod.name);
    }
  
    @override
    js_ast.Expression visitStaticInvocation(StaticInvocation node) {
      var target = node.target;
  
negative.code:             'tearoffInterop(#)', [_emitStaticTarget(node.procedure)]);
        }
      }
      if (_isInForeignJS && node is TypeLiteralConstant) {
        return _emitTypeLiteral(
            node.type.withDeclaredNullability(Nullability.nonNullable));
      }
      if (isSdkInternalRuntime(_currentLibrary) || node is PrimitiveConstant) {
        return super.visitConstant(node);
      }
  