   # * A leaf page cannot contain two records that share the same key, therefore
   # the b&#x2011;tree cannot contain duplicates.
   #
+  # #### Constant Time
+  #
   # In the abstract, a leaf page is an array of records.  Given an integer, the
   # leaf page will return the record stored at the offset of the array. This
   # lookup is performed in constant time when the record is in memory.
+  #
+  # This lookup is performed in more or less constant time when the record is
+  # uncached, if you're willing to say that random access into a file is
+  # constant time for practical purposes, otherwise it is *O(log n)*, where *n*
+  # is the number of blocks in the leaf page.
+  #
+  # #### Binary Search
   #
   # Our leaf page implemenation maintains an array of file positions called a
   # positions array. A file position in the positions array references a record

    extend page, override or {}

  # #### Leaf Page JSON Size

  # We do not include the position size in the cached size because it is simple
  # to calculate and the client cannot alter it.


    page.size += size
    @size += size

  # When we purge the record, we add the position length. We will only ever
  # delete a record that has been cached, so we do not have to create a function
