anchor.diff:    }
   
     void rewrite(FunctionDefinition node, [CallStructure callStructure]) {
  -    Element function = node.element;
  +    ExecutableElement function = node.element;
   
       // Inlining in asynchronous or generator functions is disabled.  Inlining
       // triggers a bug in the async rewriter.
  
positive.code:   Primitive tryInlining(InvocationPrimitive invoke, FunctionElement target,
                          CallStructure callStructure) {
      // Quick checks: do not inline or even cache calls to targets without an
      // AST node or targets that are asynchronous or generator functions.
      if (!target.hasNode) return null;
      if (target.asyncMarker != AsyncMarker.SYNC) return null;
  
      Reference<Primitive> dartReceiver = invoke.dartReceiverReference;
      TypeMask abstractReceiver =
  
negative.code:     // sense.
      if (function is FunctionElement &&
          function.asyncMarker != AsyncMarker.SYNC) {
        return;
      }
  
      // Do not inline in functions containing try statements.  V8 does not
      // optimize code in such functions, so inlining will move optimizable code
      // into a context where it cannot be optimized.
      if (function.resolvedAst.elements.containsTryStatement) {
        return;
      }
  
  