anchor.diff:  
     void _enterScope(ClosureScope scope) {
       if (scope == null) return;
  -    ir.CreateBox boxPrim = new ir.CreateBox();
  -    add(new ir.LetPrim(boxPrim));
  +    ir.CreateBox boxPrim = addPrimitive(new ir.CreateBox());
       environment.extend(scope.box, boxPrim);
       boxPrim.useElementAsHint(scope.box);
       scope.capturedVariables.forEach((Local local, ClosureLocation location) {
  
positive.code:     if (env == null) return;
  
      // Obtain a reference to the function object (this).
      ir.Primitive thisPrim = new ir.This();
      add(new ir.LetPrim(thisPrim));
  
      // Obtain access to the free variables.
      env.freeVariables.forEach((Local local, ClosureLocation location) {
  
negative.code: 
    /// Create a function expression from [definition].
    ir.Primitive buildFunctionExpression(ir.FunctionDefinition definition) {
      return addPrimitive(new ir.CreateFunction(definition));
    }
  
    /// Create a read access of [local].
  