@violetmadder On that topic: emacs lisp does funny things to a person's brain when you learn it. One of the funnier quirks of the language is that there are two, like, "slots' per variable. Every variable can either be referencing its normal value or its function value, and then there's a bunch of invisible sugar in the language so that most of the time, when you're creating a function, it changes the binding to the function slot on the name instead of the regular slot.
This almost never matters until you start trying to treat functions as first-class or making lambdas assigned to variables and then it matters a lot, but the whole "I'm a sign not a cop" underlying structure of elisp means that you can really go nuts if you want. Jam the number '5' into the function side of that symbol, just for shits and giggles. See how the interpreter deals with treating a whole-ass emacs buffer like a function.
It's the kind of wibbliness that makes a person start to look at every language's concept of what is a function, what is a variable, what is a value, what is an atom, what is a collection a little suss. 😉
#elisp #emacs