anchor.diff:                      let addKeyToParent st = 
                           let {sofar=sofar; items=items; nextPage=nextPageNumber; boundaryPage=boundaryPageNumber; overflows=overflows} = st
                           let stateWithK = {st with items=pair :: items}
  -                        if calcAvailable sofar (nextGeneration.Count = 0) >= neededForInline then
  +                        if calcAvailable sofar (st.nextGeneration.Length = 0) >= neededForInline then
                               {stateWithK with sofar=sofar + neededForInline}
                           else
                               let keyOverflowFirstPage = nextPageNumber
  
positive.code:                                 (thisPageNumber+1,boundaryPageNumber)
                      pb.Flush(fs)
                      if nextN <> (thisPageNumber+1) then utils.SeekPage(fs, pageSize, nextN)
                      nextGeneration.Add(thisPageNumber, k)
                      {sofar=0; items=[]; nextPage=nextN; boundaryPage=nextB; overflows=Map.empty}
  
                  let folder pair st =
                      let (pagenum,k:byte[]) = pair
  
negative.code:                     let neededEitherWay = 1 + Varint.SpaceNeededFor (int64 k.Length) + Varint.SpaceNeededFor (int64 pagenum)
                      let neededForInline = neededEitherWay + k.Length
                      let neededForOverflow = neededEitherWay + sizeof<int32>
                      let couldBeRoot = (st.nextGeneration.Length = 0)
  
                      let maybeFlush st = 
                          let available = calcAvailable (st.sofar) couldBeRoot
  