code: func (d PoolDescriptor) PoolID() string {
  	s, err := json.Marshal(d)
  	if err != nil {
  		// This should never happen for a slice of strings.
  		panic(err)
  	}
  	return fmt.Sprintf("%x", sha256.Sum256(s))
  }
docs: // PoolID returns they ID for a BotPool with the specified PoolDescriptor.
  // The ID is a SHA256 hash in hex form.
  // descriptor must be pre-sorted (I.E. Created with NewPoolDescriptor).