It seems easier for internal use variables; if the user changes the
`this--internal-variable' then the program may not work. Functions
leave me a bit more bewildered... Or should I just think of it in the
same way, e.g. "don't run this function yourself or you'll break
things"?
This applies to any function or variable, e.g., activate lisp-mode (a
command) in a JavaScript file, or set auto-mode-alist to "Hello
world".
That just doesn't make sense and won't work but of course they are
non-internal nevertheless.
Internal functions/variables usually convey the meaning of "don't rely
on me because I might change whenever my author likes". So it's more
a
hint to programmers than to users.