anchor.diff:              type(hash_table_pos_t), intent(in) :: pos
               type(hash_table_t), intent(inout) :: ht
   
  -            integer :: i, indx
  -
  -            do i = pos%ientry+1, ht%table(0,pos%islot)
  -                ht%table(i-1,pos%islot) = ht%table(i,pos%islot)
  -            end do
  +            ht%table(pos%ientry:pos%islot-1,pos%islot) = ht%table(pos%ientry+1:pos%islot,pos%islot)
               ht%table(0,pos%islot) = ht%table(0,pos%islot) - 1
   
  -            call register_hash_table_free_slot(ht, pos%indx)
  +            call register_hash_table_free_entry(ht, pos%indx)
   
           end subroutine delete_hash_table_entry
   
   !--- Query hashed store ---
   
  -        subroutine lookup_hash_table_element(ht, label, pos, hit)
  +        subroutine lookup_hash_table_entry(ht, label, pos, hit)
   
               ! Find the position/location of a data item.
   
  
positive.code: 
          ! We usually want to iterate over the data items, so it is best if they
          ! are (as far as possible) contiguous.
          ! If not, we can insert elements into the empty element.  Typically (we
          ! hope!) we have more room than the number of items we're actually
          ! storing.  If there are no slots in the occupied section of data_label
          ! and payload, then we use the next free element at the head of the data
          ! structure.
  
          ! Highest occupied element in the data_label and payload arrays.
          integer :: head
  
          ! Maximum number of free slots we might wish to access before iterating
          ! over data_label again (at which point we can easily update the list of
          ! free entries).
          integer :: max_free_reqd
          ! The index of the element in free_elements which grants the next free
          ! entry in data_label and payload arrays.
          integer :: next_free_element
          ! Circular array.  Non-zero elements correspond to free elements in the
          ! data_label and corresponding payload arrays.
          integer, allocatable :: free_elements(:) ! (0:max_free_reqd-1)
  
      end type hash_table_t
  
  
negative.code:                 end if
              end do
  
          end subroutine lookup_hash_table_entry
  
  !--- Hash table manipulation utilities ---
  
  