code: func (c *Cursor) first() {
  	for {
  		// Exit when we hit a leaf page.
  		var ref = &c.stack[len(c.stack)-1]
  		if ref.isLeaf() {
  			break
  		}
  
  		// Keep adding pages pointing to the first element to the stack.
  		var pgid pgid
  		if ref.node != nil {
  			pgid = ref.node.inodes[ref.index].pgid
  		} else {
  			pgid = ref.page.branchPageElement(uint16(ref.index)).pgid
  		}
  		p, n := c.bucket.pageNode(pgid)
  		c.stack = append(c.stack, elemRef{page: p, node: n, index: 0})
  	}
  }
docs: // first moves the cursor to the first leaf element under the last page in the stack.