anchor.diff:  	 strings = <<>>		    :: binary(),	%String pool
   	 lambdas = [],				%[{...}]
   	 literals = dict:new()	    :: literal_tab(),
  -	 fnames = gb_trees:empty()  :: fname_tab(),
  +	 fnames = #{}               :: fname_tab(),
   	 lines = #{}                :: line_tab(),
   	 num_lines = 0		    :: non_neg_integer(), %Number of line instructions
   	 next_import = 0	    :: non_neg_integer(),
  
positive.code: 
  -type atom_tab()   :: #{atom() => index()}.
  -type import_tab() :: gb_trees:tree(mfa(), index()).
  -type fname_tab()  :: gb_trees:tree(Name :: term(), index()).
  -type line_tab()   :: #{{Fname :: index(), Line :: term()} => index()}.
  -type literal_tab() :: dict:dict(Literal :: term(), index()).
  
  
negative.code:             {Index, Dict1#asm{lines=Lines#{Key=>Index},num_lines=N+1}}
      end.
  
  fname(Name, #asm{fnames=Fnames}=Dict) ->
      case Fnames of
          #{Name := Index} -> {Index,Dict};
          _ ->
              Index = maps:size(Fnames),
  	    {Index,Dict#asm{fnames=Fnames#{Name=>Index}}}
      end.
  
  %% Returns the atom table.
  