anchor.diff:  frame_size_branch(0, Is, Safe) ->
       frame_size(Is, Safe);
   frame_size_branch(L, Is, Safe) ->
  -    case gb_sets:is_member(L, Safe) of
  +    case cerl_sets:is_element(L, Safe) of
   	false -> throw(not_possible);
   	true -> frame_size(Is, Safe)
       end.
  
positive.code:     safe_labels(Is, [L|Acc]);
  safe_labels([_|Is], Acc) ->
      safe_labels(Is, Acc);
  safe_labels([], Acc) -> gb_sets:from_list(Acc).
  
  %% frame_layout([Instruction], [{kill,_}], St) ->
  %%      [{kill,Reg} | {live,Reg} | {dead,Reg}]
  
negative.code:        (Any) -> Any
      end;
  create_map(Trim, Moves) ->
      Map0 = [{Src,Dst-Trim} || {move,{y,Src},{y,Dst}} <- Moves],
      Map = maps:from_list(Map0),
      IllegalTargets = cerl_sets:from_list([Dst || {move,_,{y,Dst}} <- Moves]),
      fun({y,Y0}) when Y0 < Trim ->
              case Map of
                  #{Y0:=Y} -> {y,Y};
                  #{} -> throw(not_possible)
              end;
         ({y,Y}) ->
  	    case cerl_sets:is_element(Y, IllegalTargets) of
  		true -> throw(not_possible);
  		false -> {y,Y-Trim}
  	    end;
  