code: func randBytes(length int) (string, error) {
  	// len("0123456789abcdefghijklmnopqrstuvwxyz") = 36 which doesn't evenly divide
  	// the possible values of a byte: 256 mod 36 = 4. Discard any random bytes we
  	// read that are >= 252 so the bytes we evenly divide the character set.
  	const maxByteValue = 252
  
  	var (
  		b     byte
  		err   error
  		token = make([]byte, length)
  	)
  
  	reader := bufio.NewReaderSize(rand.Reader, length*2)
  	for i := range token {
  		for {
  			if b, err = reader.ReadByte(); err != nil {
  				return "", err
  			}
  			if b < maxByteValue {
  				break
  			}
  		}
  
  		token[i] = validBootstrapTokenChars[int(b)%len(validBootstrapTokenChars)]
  	}
  
  	return string(token), nil
  }
docs: // randBytes returns a random string consisting of the characters in
  // validBootstrapTokenChars, with the length customized by the parameter