anchor.diff:       non_neg_integer(),[{non_neg_integer(),non_neg_integer()}]}.
   
   line_table(#asm{fnames=Fnames0,lines=Lines0,num_lines=NumLineInstrs}) ->
  -    NumFnames = gb_trees:size(Fnames0),
  -    Fnames1 = lists:keysort(2, gb_trees:to_list(Fnames0)),
  +    NumFnames = maps:size(Fnames0),
  +    Fnames1 = lists:keysort(2, maps:to_list(Fnames0)),
       Fnames = [Name || {Name,_} <- Fnames1],
       NumLines = maps:size(Lines0),
       Lines1 = lists:keysort(2, maps:to_list(Lines0)),
  
positive.code:             {Index, Dict1#asm{lines=Lines#{Key=>Index},num_lines=N+1}}
      end.
  
  fname(Name, #asm{fnames=Fnames0}=Dict) ->
      case gb_trees:lookup(Name, Fnames0) of
  	{value,Index} ->
  	    {Index,Dict};
  	none ->
  	    Index = gb_trees:size(Fnames0),
  	    Fnames = gb_trees:insert(Name, Index, Fnames0),
  	    {Index,Dict#asm{fnames=Fnames}}
      end.
  
  %% Returns the atom table.
  
negative.code: 	 strings = <<>>		    :: binary(),	%String pool
  	 lambdas = [],				%[{...}]
  	 literals = dict:new()	    :: literal_tab(),
  	 fnames = #{}               :: fname_tab(),
  	 lines = #{}                :: line_tab(),
  	 num_lines = 0		    :: non_neg_integer(), %Number of line instructions
  	 next_import = 0	    :: non_neg_integer(),
  