 ;;;###autoload
 (progn
   (cl-defmacro el-patch-deftype
-      (type &rest kwargs &key classify declare macro-name)
+      (type &rest kwargs &key classify locate declare macro-name)
     "Allow `el-patch' to patch definitions of the given TYPE.
 TYPE is a symbol like `defun', `define-minor-mode', etc. This
 updates `el-patch-deftype-alist' (which see) with the provided

    (list (cons 'function function-name)
          (cons 'variable variable-name))))

;;;;; Predefined patch types

;;;###autoload
(el-patch-deftype defconst
  :classify el-patch-classify-variable
  :declare ((doc-string 3)
            (indent defun)))

;;;###autoload
(el-patch-deftype defcustom
  :classify el-patch-classify-variable
  :declare ((doc-string 3)
            (indent defun)))

;;;###autoload
(el-patch-deftype define-minor-mode
  :classify el-patch-classify-define-minor-mode
  :declare ((doc-string 2)
            (indent defun)))

;;;###autoload
(el-patch-deftype defmacro
  :classify el-patch-classify-function
  :declare ((doc-string 3)
            (indent defun)))

;;;###autoload
(el-patch-deftype defsubst
  :classify el-patch-classify-function
  :declare ((doc-string 3)
            (indent defun)))

;;;###autoload
(el-patch-deftype defun
  :classify el-patch-classify-function
  :declare ((doc-string 3)
            (indent defun)))

;;;###autoload
(el-patch-deftype defvar
  :classify el-patch-classify-variable
  :declare ((doc-string 3)
            (indent defun)))


               (expected-definition (el-patch--resolve-definition
                                     patch-definition nil))
               (name (cadr expected-definition))
               (actual-definition (el-patch--locate expected-definition)))
          (cond
           ((not actual-definition)
            (display-warning
