anchor.diff:  
   load_dict([{N,X}|T], [Key|T1], Dict0, L) when N > 0->
       load_dict(T, T1, dict:store(X, Key, Dict0), 
  -	      [encode_obj(X),">",Key|L]);
  +          [encode_obj(X),">",Key|L]);
   load_dict(_, _, Dict, L) ->
       {Dict, L}.
   
  
positive.code: encode(X, Dict0) ->
      {Dict1, L1} = initial_dict(X, Dict0),
      case (catch do_encode(X, Dict1)) of
  	{'EXIT', What} ->
  	    {error, What};
  	L ->
  	    {ok, iolist_to_binary([L1, L,$$]), Dict1}
      end.
  
  initial_dict(X, Dict0) ->
  
negative.code:     foldl(fun analyse/2, Dict, tuple_to_list(T)); 
  analyse(X, Dict) ->
      case dict:find(X, Dict) of
      {ok, Val} ->
          dict:store(X, Val+1, Dict);
      error ->
          dict:store(X, 1, Dict)
      end.
  
  encode_obj(X) when is_atom(X) -> encode_atom(X);
  