anchor.diff:  -spec do_handle({binary(), term()}, state()) -> do_handle().
   
   do_handle({<<"WORKER">>, {struct, Worker}}, S) ->
  -    {value, {_, Pid}} = lists:keysearch(<<"pid">>, 1, Worker),
  +    {_, Pid} = lists:keyfind(<<"pid">>, 1, Worker),
       S1 = S#state{child_pid = Pid},
  -    case lists:keysearch(<<"version">>, 1, Worker) of
  -        {value, {_, <<"1.0">>}} ->
  +    case lists:keyfind(<<"version">>, 1, Worker) of
  +        {_, <<"1.0">>} ->
               {ok, {"OK", <<"ok">>}, S1};
  -        {value, {_, Ver}} ->
  +        {_, Ver} ->
               VerMsg = io_lib:format("~p", [Ver]),
               {error, {fatal, ["Invalid worker version: ", VerMsg]}, S1};
           _ ->
  
positive.code:             {error, ioerror("Closing index file failed", Reason)}
      end.
  
  -spec ioerror(list(), atom()) -> term().
  ioerror(Msg, Reason) ->
      [Msg, ": ", atom_to_list(Reason)].
  
negative.code:             add_output(RL, S#state{output_filename = ResultsFileName,
                                     output_file = ResultsFile});
          {error, Reason} ->
              {error, ioerror("Opening index file at "++Path++" failed", Reason)}
      end;
  
  add_output(RL, #state{output_file = RF} = S) ->
  