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