code: func NewReaderPool(maxRate int, maxBurst time.Duration) *ReaderPool {
  	return &ReaderPool{
  		maxRate:  maxRate,
  		maxBurst: maxBurst,
  		givenOut: make(map[ThrottlerReader]struct{}),
  	}
  }
docs: // NewReaderPool creates a pool that ensures the writers it wraps will
  // respect an overall maxRate, with maxBurst resolution. The semantics
  // of the wrapped writers are the same as those of using a plain
  // ThrottledReader.