anchor.diff:                          let blk2 = PageBlock(headBlk.firstPage, headBlk.firstPage+specificSize-1) 
                           let remainder = PageBlock(headBlk.firstPage+specificSize, headBlk.lastPage)
                           freeBlocks <- remainder :: List.tail freeBlocks
  -                        // TODO problem: the list is probably no longer sorted
  +                        // TODO problem: the list is probably no longer sorted.  is this okay?
                           //printfn "reusing blk prune: %A, specificSize:%d, freeBlocks now: %A" headBlk specificSize freeBlocks
                           blk2
                       else
  
positive.code:             LivingCursor.Create mc
  
          member this.RequestWriteLock(timeout:int) =
              getWriteLock timeout (Some doAutoMerge)
  
          member this.RequestWriteLock() =
  
negative.code:             // don't want to bother with it?  what about a single-page block?
              // should this be a configurable setting?
  
              // TODO if the last block of the file is free, consider just
              // moving nextPage back.
  
              let newList = freeBlocks @ blocks |> consolidateBlockList
              let sorted = List.sortBy (fun (x:PageBlock) -> -(x.CountPages)) newList
              freeBlocks <- sorted
          )
  