anchor.diff:  %% 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;
  
positive.code: %%% 
  
  -import(lists, [reverse/1,reverse/2,foldl/3]).
  
  module({Mod,Exp,Attr,Fs0,Lc}, _Opt) ->
      Fs = [function(F) || F <- Fs0],
  
negative.code: 
  -record(st,
  	{
  	  entry :: beam_asm:label(), %Entry label (must not be moved).
  	  mlbl :: #{beam_asm:label() := [beam_asm:label()]}, %Moved labels.
  	  labels :: cerl_sets:set()         %Set of referenced labels.
  	}).
  
  opt(Is0, CLabel) ->
  