code: func (tx *transaction) removeActiveIter(iter *treap.Iterator) {
  	// An indexing for loop is intentionally used over a range here as range
  	// does not reevaluate the slice on each iteration nor does it adjust
  	// the index for the modified slice.
  	tx.activeIterLock.Lock()
  	for i := 0; i < len(tx.activeIters); i++ {
  		if tx.activeIters[i] == iter {
  			copy(tx.activeIters[i:], tx.activeIters[i+1:])
  			tx.activeIters[len(tx.activeIters)-1] = nil
  			tx.activeIters = tx.activeIters[:len(tx.activeIters)-1]
  		}
  	}
  	tx.activeIterLock.Unlock()
  }
docs: // removeActiveIter removes the passed iterator from the list of active
  // iterators against the pending keys treap.