anchor.diff:  
   
   %% @private
  --spec gen_progress_marker(infinite_log_sentinel:record(), direction(), infinite_log:entry_index()) ->
  +-spec gen_progress_marker(sentinel_record(), direction(), entry_index()) ->
       progress_marker().
   gen_progress_marker(#sentinel{entry_count = EntryCount}, ?FORWARD, EndIndex) when EndIndex >= EntryCount - 1 ->
       done;
  
positive.code:         infinite_log_node:entry_index_to_node_number(Sentinel, PivotIndex),
          {OldestNodeNum + 1, NewestNodeNum - 1}
      ),
      case locate_timestamp_in_node(Sentinel, PivotNodeNum, Direction, TStamp) of
          {older_than, PivotOldestTStamp} ->
              PivotOldestIndex = index_in_node_to_entry_index(Sentinel, PivotNodeNum, 0),
              locate_entry(
                  Sentinel, Direction, TStamp, OldestIndex, OldestTStamp, PivotOldestIndex, PivotOldestTStamp
              );
          {included, IndexInNode} ->
              index_in_node_to_entry_index(Sentinel, PivotNodeNum, IndexInNode);
          {newer_than, PivotNewestTStamp} ->
              PivotNewestIndex = index_in_node_to_entry_index(Sentinel, PivotNodeNum + 1, 0) - 1,
              locate_entry(
                  Sentinel, Direction, TStamp, PivotNewestIndex, PivotNewestTStamp, NewestIndex, NewestTStamp
              )
      end.
  
  
  %% @private
  -spec locate_timestamp_in_node(
      infinite_log_sentinel:record(),
      infinite_log_node:node_number(),
      direction(),
      infinite_log:timestamp()
  ) ->
      {older_than, infinite_log:timestamp()} | {included, index_in_node()} | {newer_than, infinite_log:timestamp()}.
  locate_timestamp_in_node(Sentinel, NodeNumber, Direction, TargetTimestamp) ->
      Node = infinite_log_sentinel:get_node_by_number(Sentinel, NodeNumber),
      case compare_timestamp_against_node(Node, Direction, TargetTimestamp) of
          older ->
  
negative.code: 
  
  %% @private
  -spec index_in_node_to_entry_index(sentinel_record(), node_number(), index_in_node()) ->
      entry_index().
  index_in_node_to_entry_index(Sentinel, NewestNodeNum, Index) ->
      NewestNodeNum * Sentinel#sentinel.max_entries_per_node + Index.
  
  