code: func (c *Cursor) nsearch(key []byte) {
  	e := &c.stack[len(c.stack)-1]
  	p, n := e.page, e.node
  
  	// If we have a node then search its inodes.
  	if n != nil {
  		index := sort.Search(len(n.inodes), func(i int) bool {
  			return bytes.Compare(n.inodes[i].key, key) != -1
  		})
  		e.index = index
  		return
  	}
  
  	// If we have a page then search its leaf elements.
  	inodes := p.leafPageElements()
  	index := sort.Search(int(p.count), func(i int) bool {
  		return bytes.Compare(inodes[i].key(), key) != -1
  	})
  	e.index = index
  }
docs: // nsearch searches the leaf node on the top of the stack for a key.