anchor.diff:              else
                   children.[0].page
   
  -        let rootPage = writeOneLayerOfParentPages (PageBlock(pageAfterLeaves, boundaryAfterLeaves)) leaves
  +        let rootPage = writeOneLayerOfParentPages blkAfterLeaves leaves
   
           let g = pageManager.End(token, rootPage)
           (g,rootPage)
  
positive.code:                             else
                                  let tmpBlk = putOverflow (new MemoryStream(k)) blk
                                  putOverflow v tmpBlk
                      {st with nextPage=newBlk.firstPage;boundaryPage=newBlk.lastPage;keys=k::st.keys}
                          
                  // this is the body of the foldLeaf function
                  maybeWriteLeaf st |> initLeaf |> addPairToLeaf
  
              // this is the body of writeLeaves
              //let source = seq { csr.First(); while csr.IsValid() do yield (csr.Key(), csr.Value()); csr.Next(); done }
              let initialState = {firstLeaf=0;keys=[];leaves=[];nextPage=leavesFirstPage;boundaryPage=leavesBoundaryPage}
              let middleState = Seq.fold foldLeaf initialState source
              let finalState = 
                  if not (List.isEmpty middleState.keys) then
  
negative.code: 
              let writeLeaf st isRootPage = 
                  pb.PutInt16At (OFFSET_COUNT_PAIRS, st.keys.Length)
                  let thisPageNumber = st.blk.firstPage
                  let firstLeaf = if List.isEmpty st.leaves then thisPageNumber else st.firstLeaf
                  let nextBlk = 
                      if isRootPage 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
                      else
                          PageBlock(thisPageNumber + 1, st.blk.lastPage)
                  pb.Write(fs)
                  pb.Reset()
                  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
  