anchor.diff:  init([]) ->
       case config:read(wpool_js) of
           true ->
  -            application:start(sasl),
  -            application:start(erlang_js);
  +            ok = application:start(sasl),
  +            ok = application:start(erlang_js);
           _ ->
               ok
       end,
  
positive.code: -type(mr_job() :: {Round::pos_integer(),
                     map | reduce,
                     {erlanon | jsanon, binary()},
                     Keep::boolean(),
                     Data::[tuple()]}).
  
  -type(generic_job() :: {erlanon | jsanon, binary(), [tuple()]}).
  
negative.code:             start_worker(Source, Workload, {Max, NewWorking, Rest})
      end.
  
  %% @doc initialize the worker.
  -spec init_worker(pid_groups:groupname(), job()) -> {ok, pid()}.
  init_worker(DHTNodeGroup, Workload) ->
      Pid = spawn_link(?MODULE, work, [DHTNodeGroup, Workload]),
      {ok, Pid}.
  
  %% @doc do the actual work.
  %%      executes Job and returns results to the local wpool. wpool associates
  %%      the worker pid to the jobs client and knows where the results go.
  -spec work(pid_groups:groupname(), job()) -> ok.
  work(DHTNodeGroup, {_Round, map, {erlanon, FunBin}, Data}) ->
      %% ?TRACE("worker: should apply ~p to ~p~n", [FunBin, Data]),
  