The intuition here is that all these functions are associated with “top-level forms”, and not with a form that depends on the lexical environment. As a semi-obvious example, eval can only work with top-level forms, so this is:
(let ([x 10]) (eval '(* 3 x)))
does not work. The usual use of only “forms” refers to any forms, such as macro entries, which, of course, may have such links.
source share