code: func (m *MergeIterator) Seek(key []byte) error {
  	for i := range m.itrs {
  		err := m.itrs[i].Seek(key)
  		if err != nil && err != ErrIteratorDone {
  			return err
  		}
  	}
  	m.updateMatches()
  	if m.lowK == nil {
  		return ErrIteratorDone
  	}
  	return nil
  }
docs: // Seek advances this iterator to the specified key/value pair.  If this key
  // is not in the FST, Current() will return the next largest key.  If this
  // seek operation would go past the last key, then ErrIteratorDone is returned.