code: func Custom(opts ...Option) *Pool {
  	p := &Pool{
  		pool: make(map[int]*sync.Pool),
  		size: pmath.Identity,
  	}
  
  	c := (*poolConfig)(p)
  	for _, opt := range opts {
  		opt(c)
  	}
  
  	return p
  }
docs: // Custom creates new Pool with given options.