anchor.diff:                      let neededForKeyOverflow = neededForKeyBase + neededForOverflowPageNumber
                       let neededForBothOverflow = neededForKeyOverflow + neededForValueOverflow
                       let fitBothOverflow = (available >= neededForBothOverflow)
  -                    let flushThisPage = (st.keys.Length > 0) && (not fitBothInline) && (wouldFitBothInlineOnNextPage || ( (not fitKeyInlineValueOverflow) && (not fitBothOverflow) ) )
  +                    let flushThisPage = (not (List.isEmpty st.keys)) && (not fitBothInline) && (wouldFitBothInlineOnNextPage || ( (not fitKeyInlineValueOverflow) && (not fitBothOverflow) ) )
   
                       if flushThisPage then
                           flushLeaf st false
  
positive.code:             let flushLeaf st isRootPage = 
                  pb.PutInt16At (OFFSET_COUNT_PAIRS, st.keys.Length)
                  let thisPageNumber = st.nextPage
                  let firstLeaf = if st.leaves.Length=0 then thisPageNumber else st.firstLeaf
                  let (nextN,nextB) = 
                      if isRootPage then
                          let blockListPage = pageManager.ReserveBlockList(token, thisPageNumber)
  
negative.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 (List.isEmpty st.nextGeneration) >= neededForInline then
                          {stateWithK with sofar=sofar + neededForInline}
                      else
                          let keyOverflowFirstPage = nextPageNumber
  