"The defvar special form is similar to setq in that it sets the value of a variable. It is unlike setq in two ways: first, it only sets the value of the variable if the variable does not already have a value. If the variable already has a value, defvar does not override the existing value. Second, defvar has a documentation string."
https://www.gnu.org/software/emacs/manual/html_node/eintr/defvar.html
Noted this, as well as some other things I learned when writing emacs-lisp: https://newschematic.org/blog/writing-an-elisp-function/