code: func closeAll(objs ...Closeable) error {
  	var err error
  	for _, obj := range objs {
  		if obj != nil {
  			err1 := obj.Close()
  			if err == nil && err1 != nil {
  				err = err1
  			}
  		}
  	}
  	if err != nil {
  		return errors.Trace(err)
  	}
  	return nil
  }
docs: // closeAll closes all objects even if an object returns an error.
  // If multiple objects returns error, the first error will be returned.