code: func (m *Main) Close() error {
  	logger := m.Logger.New("fn", "Close")
  
  	if m.ln != nil {
  		if err := m.ln.Close(); err != nil {
  			logger.Error("error closing listener", "err", err)
  		}
  	}
  
  	if m.hb != nil {
  		if err := m.hb.Close(); err != nil {
  			logger.Error("error stopping heartbeater", "err", err)
  		}
  	}
  
  	if err := m.Process.Stop(); err != nil {
  		logger.Error("error stopping process", "err", err)
  	}
  
  	return nil
  }
docs: // Close cleanly shuts down the program.