 
   # ### Page Caching
   #
-  # We keep a map of page addresses to cached page objects.
+  # We keep an in&#x2011;memory map of page addresses to page objects. This is
+  # our ***page cache***.
   #
   # #### Most-Recently Used List
   #
-  # We also maintain a most-recently used linked list using the page objets as
-  # list nodes. When we want to cull the cache, we can remove the pages at the
-  # end of the list, since they are the least recently used.
+  # We also maintain a ***most-recently used list*** as a linked list using the
+  # page objects as list nodes. When we reference a page, we unlink it from the
+  # linked list and relink it at the head of the ist. When we want to cull the
+  # cache, we can remove the pages at the end of the linked list, since they are
+  # the least recently used.
   #
   # #### Cache Purge Trigger
   #

  #
  # It is important that the page objects are unique, that we do not represent a
  # page file with more than one page object, because the page objects house the
  # locking mechanisms.
  #
  # The cache entires are linked to form a doubly-linked list. A doubly-linked
  # list of entries has a head node that has a null address, so that end of the
  # list is unambiguous.
  #
  # There are two linked list heads. A core list of cache entries, and a
  # balancing list for pages that were loaded for the sake of item counts while
  # calculating a merge. The when it comes time to purge, the balance list is
  # purged first.
  #
  # If a page cached for balance calculations, is needed for other purposes, it
  # is unlinked from the balance list, and linked to the head of the core list.
  #
  # We always move a page to the front of the core list when we reference it
  # during b&#x2011;tree descent.

  # reference array in the collation order of the stored records they reference.
  #
  # The in memory page object also contains a map of integer addresses to JSON
  # objects. This is the ***record cache*** for the page object. The integers in
  # the reference array are always present when the page is loaded, so that the
  # integer array is dense, but the record cache only contains entries for
  # records that have been referenced. We use a binary search to probe for keys
