code: func (m *Manager) Register(email string, prompt func(string) bool) error {
  	m.init()
  	m.mu.Lock()
  	defer m.mu.Unlock()
  
  	return m.register(email, prompt)
  }
docs: // Register registers the manager with letsencrypt.org, using the given email address.
  // Registration may require agreeing to the letsencrypt.org terms of service.
  // If so, Register calls prompt(url) where url is the URL of the terms of service.
  // Prompt should report whether the caller agrees to the terms.
  // A nil prompt func is taken to mean that the user always agrees.
  // The email address is sent to LetsEncrypt.org but otherwise unchecked;
  // it can be omitted by passing the empty string.
  //
  // Calling Register is only required to make sure registration uses a
  // particular email address or to insert an explicit prompt into the
  // registration sequence. If the manager is not registered, it will
  // automatically register with no email address and automatic
  // agreement to the terms of service at the first call to Cert or GetCertificate.