code: func runWithBackoff(f func() ([]byte, error)) []byte {
  	var backoff = 100 * time.Millisecond
  	const maxBackoff = time.Minute
  	for {
  		value, err := f()
  		if err == nil {
  			return value
  		}
  		time.Sleep(backoff)
  		backoff = backoff * 2
  		if backoff > maxBackoff {
  			backoff = maxBackoff
  		}
  	}
  }
docs: // runWithBackoff runs input function `f` with an exponential backoff.
  // Note that this method can block indefinitely.