code: func newUser(email string) (User, error) {
  	user := User{Email: email}
  	privateKey, err := ecdsa.GenerateKey(elliptic.P384(), rand.Reader)
  	if err != nil {
  		return user, errors.New("error generating private key: " + err.Error())
  	}
  	user.key = privateKey
  	return user, nil
  }
docs: // newUser creates a new User for the given email address
  // with a new private key. This function does NOT save the
  // user to disk or register it via ACME. If you want to use
  // a user account that might already exist, call getUser
  // instead. It does NOT prompt the user.