anchor.diff:  	    end,
   	    {ok,Tab};
   	{ok,{FinalMD5State,FinalCount,['$end_of_table',LastInfo],_}} ->
  -	    ECount = case lists:keysearch(count,1,LastInfo) of
  -			 {value,{count,N}} ->
  +	    ECount = case lists:keyfind(count,1,LastInfo) of
  +			 {count,N} ->
   			     N;
   			 _ ->
   			     false
   		     end,
  -	    EMD5 = case lists:keysearch(md5,1,LastInfo) of
  -			 {value,{md5,M}} ->
  +	    EMD5 = case lists:keyfind(md5,1,LastInfo) of
  +			 {md5,M} ->
   			     M;
   			 _ ->
   			     false
  
positive.code:     options([Option], Keys, []).
  
  options(Options, [Key | Keys], L) when is_list(Options) ->
      V = case lists:keysearch(Key, 1, Options) of
              {value, {n_objects, default}} ->
                  {ok, default_option(Key)};
              {value, {n_objects, NObjs}} when is_integer(NObjs),
                                               NObjs >= 1 ->
                  {ok, NObjs};
              {value, {traverse, select}} ->
                  {ok, select};
              {value, {traverse, {select, MS}}} ->
                  {ok, {select, MS}};
              {value, {traverse, first_next}} ->
                  {ok, first_next};
              {value, {traverse, last_prev}} ->
                  {ok, last_prev};
  	    {value, {Key, _}} ->
  		badarg;
  	    false ->
  		Default = default_option(Key),
  
negative.code: 	   throw(badfile)
      end.
  
  md5_and_convert([], MD5State, Count) ->
      {[],MD5State,Count,[]};
  md5_and_convert([H|T], MD5State, Count) when is_binary(H) ->
      case (catch binary_to_term(H)) of
  	{'EXIT', _} ->
  	    md5_and_convert(T,MD5State,Count);
  	['$end_of_table',_Dat] = L ->
  	   {[],MD5State,Count,L};
  	Term ->
  	    X = erlang:md5_update(MD5State, H),
  	    {Rest,NewMD5,NewCount,NewLast} = md5_and_convert(T, X, Count+1),
  	    {[Term | Rest],NewMD5,NewCount,NewLast}
      end.
  
  scan_for_endinfo([], Count) ->
      {[],Count,[]};
  scan_for_endinfo([['$end_of_table',Dat]], Count) ->
      {['$end_of_table',Dat],Count,[]};
  scan_for_endinfo([Term|T], Count) ->
      {NewLast,NCount,Rest} = scan_for_endinfo(T, Count+1),
      {NewLast,NCount,[Term | Rest]}.
  
  load_table(ReadFun, State, Tab) ->
  