anchor.diff:          error ->
               maps:put(CallPid, {SrvId, CallId, [{Ref, From, Work}]}, Works)
       end,
  -    State#state{works=Works1}.
  +    {ok, State#state{works=Works1}}.
       
   
   %% @private
  
positive.code:     {ok, #state{}} | {error, looped_process | service_not_found | too_many_calls}.
  
  send_work_sync(SrvId, CallId, Work, Caller, From, #state{name=Name}=State) ->
      case find(Name, SrvId, CallId) of
          {ok, Caller} ->
              {error, looped_process};
          {ok, CallPid} -> 
  
negative.code:     end,
      {noreply, State#state{works=Works1}};
  
  handle_info({'DOWN', _MRef, process, Pid, _Reason}, State) ->
      #state{name=Name, services=Srvs, works=Works} = State,
      case maps:find(Pid, Srvs) of
          {ok, {SrvId, CallPids}} ->
              % A service is down
              lager:info("Service ~p (~p) down at ~p. Calls: ~p", 
                            [SrvId, SrvId:name(), Name, CallPids]),
              lists:foreach(fun(CallPid) -> gen_server:cast(CallPid, stop) end, CallPids),
              State1 = State#state{services=maps:remove(Pid, Srvs)},
              {noreply, State1};
          error ->
              % A call is down
              State1 = remove_call(Pid, State),
              State2 = case maps:find(Pid, Works) of
                  {ok, {SrvId, CallId, WorkList}} -> 
                      % We had pending work for this process.
                      % Actually, we know the process has stopped normally before processing
                      % these requests (it hasn't failed due to an error).
                      % If the process had failed due to an error processing the work,
                      % the "received work" message would have been received an the work will
                      % not be present in Works.
                      St = State1#state{works=maps:remove(Pid, Works)},
                      resend_worklist(SrvId, CallId, lists:reverse(WorkList), St);
                  error ->
                      State1
              end,
              {noreply, State2}
      end;
  
  handle_info(Info, State) -> 
  