anchor.diff:      Src = mk_val(Src0),
       Dst = mk_val(Dst0),
       emit([Dst," = ",Src," - ",Int]);
  +enc_cg({set,{var,Src},{var,Dst}}) ->
  +    emit([Dst," = ",Src]);
   enc_cg({'try',Try,{P,Succ},Else,Dst}) ->
       emit([mk_val(Dst)," = try "]),
       enc_cg(Try),
  
positive.code: is_nonbuilding({call_gen,_,_,_,_,_,_}) -> true;
  is_nonbuilding({'cond',_,_}) -> true;
  is_nonbuilding({lc,_,_,_,_}) -> true;
  is_nonbuilding({sub,_,_,_}) -> true;
  is_nonbuilding({'try',_,_,_,_}) -> true;
  is_nonbuilding(_) -> false.
  
negative.code:     [{lc,per_fixup(B),V,L}|per_fixup(T)];
  per_fixup([{lc,B,V,L,Dst}|T]) ->
      [{lc,per_fixup(B),V,L,Dst}|per_fixup(T)];
  per_fixup([{set,_,_}=H|T]) ->
      [H|per_fixup(T)];
  per_fixup([{sub,_,_,_}=H|T]) ->
      [H|per_fixup(T)];
  per_fixup([{'try',Try0,{P,Succ0},Else0,Dst}|T]) ->
  