anchor.diff:              let kflag = pr.GetByte()
               let klen = pr.GetVarint() |> int
               if 0uy = (kflag &&& FLAG_OVERFLOW) then
  -                pr.cmp(klen, other)
  +                pr.Compare(klen, other)
               else
                   let pagenum = pr.ReadUInt32()
                   let k = readOverflow klen fs pagenum
  -                ByteComparer.cmp (k, other)
  +                ByteComparer.Compare (k, other)
   
           let keyInLeaf n = 
               pr.SetPosition(leafKeys.[n])
  
positive.code:             else
                  let mid = (max + min) / 2
                  let kmid = keys.[mid]
                  let cmp = ByteComparer.cmp (kmid, k)
                  if 0 = cmp then mid
                  else if cmp<0  then search k (mid+1) max sop mid ge
                  else search k min (mid-1) sop le mid
  
negative.code:                 i <- i + 1
          if i>len then result else (xlen - ylen)
  
      let CompareWithin (x:byte[],off,xlen,y:byte[]) =
          let ylen = y.Length
          let len = if xlen<ylen then xlen else ylen
          let mutable i = 0
  