   (unwind-protect
       (progn
         (let* ((type (car patch-definition))
-               (name (cadr patch-definition))
                (expected-definition (el-patch--resolve-definition
                                      patch-definition nil))
+               (name (cadr expected-definition))
                (actual-definition (el-patch--find-function name)))
           (cond
            ((not actual-definition)

patch's original definition. PATCH-DEFINITION is as returned by
`el-patch--select-patch'."
  (interactive (list (el-patch--select-patch)))
  (let* ((name (cadr patch-definition))
         (expected-definition (el-patch--resolve-definition
                               patch-definition nil))
         (actual-definition (el-patch--find-function name)))
    (el-patch--ediff-forms
     "*el-patch actual*" actual-definition

etc. Return a list of the same format. Resolve in favor of the
original version if NEW is nil; otherwise resolve in favor of the
new version."
  (cons (car patch-definition)
        (cl-mapcan (lambda (form)
                     (el-patch--resolve form new))
                   (cdr patch-definition))))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;; Validating patches
