code: func (s *Semaphore) ReleaseMany(n int) {
  	if n > s.permits {
  		n = s.permits
  	}
  
  	for ; n > 0; n-- {
  		s.Release()
  	}
  }
docs: // ReleaseMany releases n permits.
  //
  // The number of permits released is at most the number of permits in the semaphore.
  // i.e. if n = 5 and s was created with New(2), at most 2 permits will be released.