anchor.diff:  -type fold_acc() :: datastore_links:fold_acc().
   -type fold_opts() :: datastore_links:fold_opts().
   -type state() :: #state{}.
  +-type tp_key() :: datastore:key() | non_neg_integer()
  +    | {doc | links, datastore:key()}.
   
   %%%===================================================================
   %%% API
  
positive.code: %% {@link wait/1} to collect result.
  %% @end
  %%--------------------------------------------------------------------
  -spec call_async(ctx(), {doc | links, key()}, atom(), list()) ->
      {ok, reference()} | {error, term()}.
  call_async(Ctx, Key, Function, Args) ->
      Timeout = application:get_env(?CLUSTER_WORKER_APP_NAME,
  
negative.code:     erlang:cancel_timer(Ref),
      schedule_terminate(State#state{terminate_timer_ref = undefined}).
  
  %%--------------------------------------------------------------------
  %% @private
  %% @doc
  %% Gets tp routing key.
  %% @end
  %%--------------------------------------------------------------------
  -spec get_key(datastore:key(), atom()) -> tp_key().
  get_key(Key, Type) ->
      case application:get_env(?CLUSTER_WORKER_APP_NAME, aggregate_tp, false) of
          true ->
  