code: func (l *txPricedList) Discard(count int, local *accountSet) types.Transactions {
  	drop := make(types.Transactions, 0, count) // Remote underpriced transactions to drop
  	save := make(types.Transactions, 0, 64)    // Local underpriced transactions to keep
  
  	for len(*l.items) > 0 && count > 0 {
  		// Discard stale transactions if found during cleanup
  		tx := heap.Pop(l.items).(*types.Transaction)
  		if l.all.Get(tx.Hash()) == nil {
  			l.stales--
  			continue
  		}
  		// Non stale transaction found, discard unless local
  		if local.containsTx(tx) {
  			save = append(save, tx)
  		} else {
  			drop = append(drop, tx)
  			count--
  		}
  	}
  	for _, tx := range save {
  		heap.Push(l.items, tx)
  	}
  	return drop
  }
docs: // Discard finds a number of most underpriced transactions, removes them from the
  // priced list and returns them for further removal from the entire pool.