-I anticipate that the number of entries in each free zone would
-be small, but it might be worth using one free entry to hold
-pointers to the others for cache efficiency.
-
-<freelist-in-zone>If we want to avoid locking complexity
-(enlarging the free lists when we enlarge the file) we could
-place the array of free lists at the beginning of each zone. This
-means existing array lists never move, but means that a record
-cannot be larger than a zone. That in turn implies that zones
-should be variable sized (say, power of 2), which makes the
-question “what zone is this record in?” much harder (and “pick a
-random zone”, but that's less common). It could be done with as
-few as 4 bits from the record header.[footnote:
-Using 2^{16+N*3}means 0 gives a minimal 65536-byte zone, 15 gives
-the maximal 2^{61} byte zone. Zones range in factor of 8 steps.
-Given the zone size for the zone the current record is in, we can
-determine the start of the zone.
-]