code: func (r *reader) Read(p []byte) (int, error) {
  	r.once.Do(func() {
  		_, err := unix.Getrandom(p, 0)
  		if err != unix.ENOSYS {
  			r.useGetrandom = true
  		}
  	})
  
  	if r.useGetrandom {
  		return unix.Getrandom(p, 0)
  	}
  	return rand.Read(p)
  }
docs: // Read implements io.Reader.Read.