anchor.diff:  
               let writeLeaf st isRootPage = 
                   pb.PutInt16At (OFFSET_COUNT_PAIRS, st.keys.Length)
  -                let thisPageNumber = st.nextPage
  +                let thisPageNumber = st.blk.firstPage
                   let firstLeaf = if List.isEmpty st.leaves then thisPageNumber else st.firstLeaf
  -                let (nextN,nextB) = 
  +                let nextBlk = 
                       if isRootPage then
  -                        (thisPageNumber + 1, st.boundaryPage)
  -                    else if thisPageNumber = st.boundaryPage then
  +                        PageBlock(thisPageNumber + 1, st.blk.lastPage)
  +                    else if thisPageNumber = st.blk.lastPage then
                           pb.SetPageFlag FLAG_BOUNDARY_NODE
                           let newRange = pageManager.GetRange(token)
                           pb.SetLastInt32(newRange.firstPage)
  -                        (newRange.firstPage, newRange.lastPage)
  +                        newRange
                       else
  -                        (thisPageNumber + 1, st.boundaryPage)
  +                        PageBlock(thisPageNumber + 1, st.blk.lastPage)
                   pb.Write(fs)
                   pb.Reset()
  -                if nextN <> (thisPageNumber+1) then utils.SeekPage(fs, pageSize, nextN)
  -                {keys=[]; firstLeaf=firstLeaf; nextPage=nextN; boundaryPage=nextB; leaves=pgitem(thisPageNumber,List.head st.keys)::st.leaves}
  +                if nextBlk.firstPage <> (thisPageNumber+1) then utils.SeekPage(fs, pageSize, nextBlk.firstPage)
  +                {keys=[]; firstLeaf=firstLeaf; blk=nextBlk; leaves=pgitem(thisPageNumber,List.head st.keys)::st.leaves}
   
               let foldLeaf st (pair:kvp) = 
                   let k = pair.Key
  
positive.code:             keys:(byte[] list)
              firstLeaf:int32
              leaves:pgitem list 
              nextPage:int 
              boundaryPage:int 
          }
  
      let CreateFromSortedSequenceOfKeyValuePairs(fs:Stream, pageManager:IPages, source:seq<kvp>) = 
  
negative.code:                     let available = pb.Available - sizeof<int32> // for the lastInt32
                      let fitBothInline = (available >= neededForBothInline)
                      let fitKeyInlineValueOverflow = (available >= neededForKeyInlineValueOverflow)
                      let {keys=_;blk=blk} = st
                      let newBlk = 
                          if fitBothInline then
                              putKeyWithLength k
  