code: func (as *accountSet) flatten() []common.Address {
  	if as.cache == nil {
  		accounts := make([]common.Address, 0, len(as.accounts))
  		for account := range as.accounts {
  			accounts = append(accounts, account)
  		}
  		as.cache = &accounts
  	}
  	return *as.cache
  }
docs: // flatten returns the list of addresses within this set, also caching it for later
  // reuse. The returned slice should not be changed!