anchor.diff:           *)
           let ctx = model.Context
           let destE = mkIntLV ctx dest
  -        (makeRel model srcE destE,
  -         new Set<string> ( [ flattenLV dest ] ))
  +        ( [makeRel model srcE destE],
  +          new Set<string> ( [ flattenLV dest ] ))
       | BoolLocalSet (dest, srcE) ->
           let ctx = model.Context
           let destE = mkBoolLV ctx dest
  -        (makeRel model srcE destE,
  -         new Set<string> ( [ flattenLV dest ] ))
  +        ( [makeRel model srcE destE],
  +          new Set<string> ( [ flattenLV dest ] ))
       | PrimId ->
  -        (ctx.MkTrue (), Set.empty)
  +        ( [ctx.MkTrue ()], Set.empty)
       | PrimAssume (assumption) ->
           // Assumes always only refer to the pre-state.
  -        (subAllInModel model envVarToBefore (assumption :> Expr) :?> BoolExpr,
  -         Set.empty)
  +        ( [subAllInModel model envVarToBefore (assumption :> Expr) :?> BoolExpr],
  +          Set.empty)
  
positive.code:     let destE = mkBoolLV ctx dest
      let srcE = mkBoolLV ctx src
  
      ( ctx.MkAnd [|makeRel model srcE destE
                    makeNoChange model srcE|],
        new Set<string> ( [ flattenLV dest
                            flattenLV src ] ))
  
  /// Emits Z3 corresponding to a prim.
  /// The result is a pair of the Z3 emission, and the set of names of
  
negative.code:     let failSem = mkAnd2 ctx (succDest, succTest)
      let failure = ctx.MkImplies (failCond, failSem)
  
      [success
       failure
       // This models set!after = set!before.
       makeNoChange model setE]
  
  /// Emits an arithmetic fetch.
  let makeArithFetch model dest src mode =
  