anchor.diff:                      let couldBeRoot = (nextGeneration.Count = 0)
   
                       let maybeFlush args = 
  -                        let {sofar=sofar; first=first; nextPage=nextPageNumber; boundaryPage=boundaryPageNumber} = 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)
  
positive.code:                     // note loop bounds
                      for q in start .. (stop-1) do
                          let k = snd children.[q]
                          if ((overflows <> null) && overflows.ContainsKey (q)) then
                              pb.PutByte(FLAG_OVERFLOW)
                              pb.PutVarint(int64 k.Length)
                              pb.PutInt32(overflows.[q])
                          else
                              putKeyWithLength k
  
                  let folder st (pagenum,k:byte[]) =
  
negative.code:             nextPage:int; 
              boundaryPage:int; 
              //children:(int32*byte[]); 
              overflows:Map<int,int32>;
          }
  
      let Create(fs:Stream, pageManager:IPages, csr:ICursor) :int32 = 
  