code: func Unzip(ctx context.Context, src, dst string) (err error) {
  	// Clean up on error
  	defer func(err *error) {
  		if *err != nil || ctx.Err() != nil {
  			astilog.Debugf("Removing %s...", dst)
  			os.RemoveAll(dst)
  		}
  	}(&err)
  
  	// Unzipping
  	astilog.Debugf("Unzipping %s into %s", src, dst)
  	if err = astiarchive.Unzip(ctx, src, dst); err != nil {
  		err = errors.Wrapf(err, "unzipping %s into %s failed", src, dst)
  		return
  	}
  	return
  }
docs: // Unzip unzips a src into a dst.
  // Possible src formats are /path/to/zip.zip or /path/to/zip.zip/internal/path.