anchor.diff:                              pb.Flush(fs)
                               if nextN <> (thisPageNumber+1) then utils.SeekPage(fs, pageSize, nextN)
                               nextGeneration.Add(thisPageNumber, snd children.[i-1])
  -                            {sofar=0; first=0; nextPage=nextN; boundaryPage=nextB; overflows=Map.empty}
  +                            {sofar=0; items=[]; nextPage=nextN; boundaryPage=nextB; overflows=Map.empty}
                           else
                               args
   
  
positive.code:                     let couldBeRoot = (nextGeneration.Count = 0)
  
                      let maybeFlush args = 
                          let {sofar=sofar; first=first; nextPage=nextPageNumber; boundaryPage=boundaryPageNumber; overflows=overflows} = args
                          // TODO flush logic used to be guarded by if sofar > 0.  should it still be?
                          let available = calcAvailable sofar couldBeRoot
                          let fitsInline = (available >= neededForInline)
  
negative.code:     type writeParentPagesState = 
          { 
              sofar:int; 
              items:(int32*byte[]) list; 
              nextPage:int; 
              boundaryPage:int; 
              //children:(int32*byte[]); 
  