code: func (i *Instance) ShutdownCallbacks() []error {
  	var errs []error
  	for _, shutdownFunc := range i.onShutdown {
  		err := shutdownFunc()
  		if err != nil {
  			errs = append(errs, err)
  		}
  	}
  	for _, finalShutdownFunc := range i.onFinalShutdown {
  		err := finalShutdownFunc()
  		if err != nil {
  			errs = append(errs, err)
  		}
  	}
  	return errs
  }
docs: // ShutdownCallbacks executes all the shutdown callbacks of i,
  // including ones that are scheduled only for the final shutdown
  // of i. An error returned from one does not stop execution of
  // the rest. All the non-nil errors will be returned.