 # level the moment we've detected the need for one. If we fill a leaf page, we
 # descend the tree again to split the leaf page.
 #
-# Because the b-tree is a concurrent structure, the leaf split descent may
+# Because the b&#x2011;tree is a concurrent structure, the leaf split descent may
 # discover that another descent has removed a record, and a leaf split is no
 # longer necessary. There may be, in fact, a descent on the way to the left
 # sibling of the page, to check for the potential for a merge.
 #
 # The concurrent operation means that we have to deal with situation where we've
-# undertaken a descent to balance the b-tree, but another series of descents
+# undertaken a descent to balance the b&#x2011;tree, but another series of descents
 # has rendered that plan invalid.
 #
 # As long as we're dealing with that problem, we may as well decouple insertion


  # Write an insert object. Calculate the serialized JSON string length of the
  # inserted record and add it to the in memory JSON size of the page and the in
  # memory b-tree as a whole. We always use the JSON serialization we already
  # perform for storage, instead of serializing for both storage and size
  # calculation.
  writeInsert: (fd, page, index, record, _) ->

#
# We retain the exclusive lock on the penultimate branch page. No other descent
# will be able to visit this penultimate branch, because we've blocked entry
# into the sub&#x2011;tree and squeeed out the other descents. We still need to hold
# onto the exclusive lock, however, otherwise the page might be discarded during
# a cache purge, which can happen concurently.
#
