anchor.diff:  %%% 
   
   -import(lists, [reverse/1,reverse/2,foldl/3]).
  +
  +-type instruction() :: beam_utils:instruction().
  +
  +-spec module(beam_utils:module_code(), [compile:option()]) ->
  +                    {'ok',beam_utils:module_code()}.
   
   module({Mod,Exp,Attr,Fs0,Lc}, _Opt) ->
       Fs = [function(F) || F <- Fs0],
  
positive.code: 
  -record(st,
  	{
  	  entry,		     %Entry label (must not be moved).
  	  mlbl,			     %Moved labels.
  	  labels :: cerl_sets:set()  %Set of referenced labels.
  	}).
  
  opt(Is0, CLabel) ->
  
negative.code: %% is_unreachable_after(Instruction) -> boolean()
  %%  Test whether the code after Instruction is unreachable.
  
  -spec is_unreachable_after(instruction()) -> boolean().
  
  is_unreachable_after({func_info,_M,_F,_A}) -> true;
  is_unreachable_after(return) -> true;
  is_unreachable_after({jump,_Lbl}) -> true;
  