anchor.diff:  
     /// Create a function expression from [definition].
     ir.Primitive buildFunctionExpression(ir.FunctionDefinition definition) {
  -    ir.CreateFunction prim = new ir.CreateFunction(definition);
  -    add(new ir.LetPrim(prim));
  -    return prim;
  +    return addPrimitive(new ir.CreateFunction(definition));
     }
   
     /// Create a read access of [local].
  
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:     if (env == null) return;
  
      // Obtain a reference to the function object (this).
      ir.Primitive thisPrim = addPrimitive(new ir.This());
  
      // Obtain access to the free variables.
      env.freeVariables.forEach((Local local, ClosureLocation location) {
  