anchor.diff:      case D0 of
           #{S:=#dk{d=Defs1,k=Killed1}} ->
               Defs = ordsets:intersection(Defs0, Defs1),
  -            Killed = ordsets:union(Killed0, Killed1),
  +            Killed = cerl_sets:union(Killed0, Killed1),
               DK = #dk{d=Defs,k=Killed},
               D = D0#{S:=DK},
               find_update_succ(Ss, DK0, D);
  
positive.code: %%%
  
  -record(dk, {d :: ordsets:ordset(var_name()),
               k :: ordsets:ordset(var_name())
              }).
  
  %% find_yregs(St0) -> St.
  
negative.code: copy_retval_is([#b_set{op=Op,dst=#b_var{name=RetName}=Dst}=I0|Is], RC, Yregs,
             Copy0, Count0, Acc0) when Op =:= call; Op =:= make_fun ->
      {I1,Count1,Acc} = place_retval_copy(I0, Yregs, Copy0, Count0, Acc0),
      case cerl_sets:is_element(Dst, Yregs) of
          true ->
              {NewVar,Count} = new_var(RetName, Count1),
              Copy = #b_set{op=copy,dst=Dst,args=[NewVar]},
  