code: func (h *Client) DeleteRelease(rlsName string, opts ...DeleteOption) (*rls.UninstallReleaseResponse, error) {
  	// apply the uninstall options
  	reqOpts := h.opts
  	for _, opt := range opts {
  		opt(&reqOpts)
  	}
  
  	if reqOpts.dryRun {
  		// In the dry run case, just see if the release exists
  		r, err := h.ReleaseContent(rlsName)
  		if err != nil {
  			return &rls.UninstallReleaseResponse{}, err
  		}
  		return &rls.UninstallReleaseResponse{Release: r.Release}, nil
  	}
  
  	req := &reqOpts.uninstallReq
  	req.Name = rlsName
  	req.DisableHooks = reqOpts.disableHooks
  	ctx := NewContext()
  
  	if reqOpts.before != nil {
  		if err := reqOpts.before(ctx, req); err != nil {
  			return nil, err
  		}
  	}
  	return h.delete(ctx, req)
  }
docs: // DeleteRelease uninstalls a named release and returns the response.