> ... Looks incredibly complicated
you are not alone ! even the info-page has this: https://www.gnu.org/software/emacs/manual/html_node/elisp/Th...