anchor.diff:              let firstLeaf = fst leaves.[0]
               let lastLeaf = fst leaves.[leaves.Count-1]
   
  -            let writeParentNodes (children:System.Collections.Generic.List<int32 * byte[]>) startingPageNumber startingBoundaryPageNumber =
  +            let writeParentNodes children startingPageNumber startingBoundaryPageNumber =
                   // 2 for the page type and flags
                   // 2 for the stored count
                   // 5 for the extra ptr we will add at the end, a varint, 5 is worst case
                   // 4 for lastInt32
                   let PARENT_PAGE_OVERHEAD = 2 + 2 + 5 + 4
  -
  -                let nextGeneration = new System.Collections.Generic.List<int32 * byte[]>()
   
                   let calcAvailable currentSize couldBeRoot =
                       let basicSize = pageSize - currentSize
  
positive.code:                     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
                              {stateWithK with sofar=sofar + neededForInline}
                          else
                              let keyOverflowFirstPage = nextPageNumber
  
negative.code:             items:(int32*byte[]) list; 
              nextPage:int; 
              boundaryPage:int; 
              nextGeneration:(int32*byte[]) list; 
              overflows:Map<byte[],int32>;
          }
  
  