code: func (t *Tree) Seek(k []byte) (e *Enumerator, ok bool) {
  	q := t.r
  	if q == nil {
  		e = btEPool.get(nil, false, 0, k, nil, t, t.ver)
  		return
  	}
  
  	for {
  		var i int
  		if i, ok = t.find(q, k); ok {
  			switch x := q.(type) {
  			case *x:
  				q = x.x[i+1].ch
  				continue
  			case *d:
  				return btEPool.get(nil, ok, i, k, x, t, t.ver), true
  			}
  		}
  
  		switch x := q.(type) {
  		case *x:
  			q = x.x[i].ch
  		case *d:
  			return btEPool.get(nil, ok, i, k, x, t, t.ver), false
  		}
  	}
  }
docs: // Seek returns an Enumerator positioned on a an item such that k >= item's
  // key. ok reports if k == item.key The Enumerator's position is possibly
  // after the last item in the tree.