                                  directive))
                (inverted (not (equal this-directive directive)))
                (this-new (if inverted (not new) new))
-               (resolve (lambda (form) (el-patch-resolve form new table))))
+               (resolve (lambda (form) (el-patch--resolve form new table))))
           (pcase this-directive
             ((quote el-patch-add)
              (when (<= (length form) 1)

  (declare (indent defun))
  (error "Can't use `el-patch-splice' outside of an `el-patch'"))

(defmacro el-patch-let (varlist arg)
  "Patch directive. Creates local bindings according to VARLIST,
then resolves to ARG in both the original and new definitions.

  (declare (indent 0))
  (error "Can't use `el-patch-add' outside of an `el-patch'"))

;;;###autoload
(defmacro el-patch-remove (&rest args)
  "Patch directive. In the original definition, the ARGS are
spliced into the containing s-expression. In the new definition,
