anchor.diff:              let lastChild = List.head children
               let initialState = {nextGeneration=[];sofar=0;items=[];nextPage=startingPageNumber;boundaryPage=startingBoundaryPageNumber;overflows=Map.empty}
               let middleState = List.foldBack folder (List.tail children) initialState 
  -            let isRootNode = (middleState.nextGeneration.Length=0)
  +            let isRootNode = (List.isEmpty middleState.nextGeneration)
               let finalState = flushParentPage middleState lastChild isRootNode
               let {nextPage=n;boundaryPage=b;nextGeneration=ng} = finalState
               (n,b,ng)
  
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 (st.nextGeneration.Length = 0) >= neededForInline then
                          {stateWithK with sofar=sofar + neededForInline}
                      else
                          let keyOverflowFirstPage = nextPageNumber
  
negative.code:                     let neededForKeyOverflow = neededForKeyBase + neededForOverflowPageNumber
                      let neededForBothOverflow = neededForKeyOverflow + neededForValueOverflow
                      let fitBothOverflow = (available >= neededForBothOverflow)
                      let flushThisPage = (not (List.isEmpty st.keys)) && (not fitBothInline) && (wouldFitBothInlineOnNextPage || ( (not fitKeyInlineValueOverflow) && (not fitBothOverflow) ) )
  
                      if flushThisPage then
                          flushLeaf st false
  