anchor.diff:      } else {
         _current = _current.plug(expr);
       }
  +  }
  +
  +  /// Create and add a new [LetPrim] for [primitive].
  +  ir.Primitive addPrimitive(ir.Primitive primitive) {
  +    add(new ir.LetPrim(primitive));
  +    return primitive;
     }
   
     ir.Primitive _continueWithExpression(ir.Expression build(ir.Continuation k)) {
  
positive.code:   ir.Primitive buildListLiteral(InterfaceType type,
                                  Iterable<ir.Primitive> values) {
      assert(isOpen);
      ir.Primitive result = new ir.LiteralList(type, values);
      add(new ir.LetPrim(result));
      return result;
    }
  
    /// Creates a non-constant map literal of the provided [type] and with the
  
negative.code:       } else {
          // Unboxed variables are loaded from the function object immediately.
          // This includes BoxLocals which are themselves unboxed variables.
          environment.extend(local,
              addPrimitive(new ir.GetField(thisPrim, location.field)));
        }
      });
  
  