code: func (t *PrimaryTree) SeekFirst() (e *PrimaryEnumerator, err error) {
  	q := t.first
  	if q == nil {
  		return nil, io.EOF
  	}
  
  	return btEPool1.get(nil, true, 0, q.d[0].k, q, t, atomic.LoadUint64(&t.ver)), nil
  }
docs: // SeekFirst returns an enumerator positioned on the first KV pair in the tree,
  // if any. For an empty tree, err == io.EOF is returned and e will be nil.