anchor.diff:          chash:update(get_nth_index(I, CHashAcc), Node, CHashAcc)
       end, InitialCHash, lists:zip(lists:seq(1, NodeCount), Nodes)),
   
  -    #ring{chash = CHash, nodes_assigned_per_label = LabelAssociatedNodesCount, all_nodes = Nodes}.
  +    #ring{chash = CHash, nodes_assigned_per_label = NodesAssignedPerLabel, all_nodes = Nodes}.
   
   -spec replicate_ring_to_nodes([node()]) -> ok | {error, term()}.
   replicate_ring_to_nodes(Nodes) ->
  
positive.code: %% @doc
  %% Get node that is responsible for the data labeled with given term.
  %% Crashes with error if node is failed.
  %% Function to be used if label is associated only with particular node (no HA available).
  %% @end
  %%--------------------------------------------------------------------
  -spec get_assigned_node(term()) -> node().
  
negative.code: -record(ring, {
      chash :: chash:chash() | undefined,
      failed_nodes = [] :: [node()],
      nodes_assigned_per_label = 1 :: pos_integer(), % Number of nodes assigned to each label
      all_nodes :: [node()] % cached list of nodes to return it faster (it is also possible to get all nodes from chash)
  }).
  
  