anchor.diff:                      first <- i
                       overflows.Clear()
                       sofar <- PAGE_OVERHEAD
  -                if calcAvailable (pb.PageSize) sofar (nextGeneration.Count = 0) >= neededForInline then
  +                if calcAvailable sofar (nextGeneration.Count = 0) >= neededForInline then
                       sofar <- sofar + k.Length
                   else
                       let keyOverflowFirstPage = nextPageNumber
  
positive.code:                             let newRange = pageManager.GetRange(token)
                              nextPageNumber <- fst newRange
                              boundaryPageNumber <- snd newRange
                              // assert pb.Position <= (pb.PageSize - 4)
                              pb.SetLastInt32(nextPageNumber)
                          else
                              nextPageNumber <- nextPageNumber + 1
                      pb.Flush(fs)
                      if nextPageNumber <> (thisPageNumber+1) then utils.SeekPage(fs, pb.PageSize, nextPageNumber)
                      nextGeneration.Add(thisPageNumber, snd children.[i-1])
                      sofar <- 0
                      first <- 0
  
negative.code: 
          writeOneBlock 0 startingNextPageNumber startingBoundaryPageNumber
  
      let private writeParentNodes (pageManager:IPages) token firstLeaf lastLeaf (children:System.Collections.Generic.List<int32 * byte[]>) startingPageNumber startingBoundaryPageNumber fs (pb:PageBuilder) (pbOverflow:PageBuilder) =
          let pageSize = pb.PageSize
          let nextGeneration = new System.Collections.Generic.List<int32 * byte[]>()
          let overflows = new System.Collections.Generic.Dictionary<int,int32>()
          // TODO encapsulate mutables in a class?
  