> But what do you do if `with-let' has been overwritten in the usage
> environment of the macro?
Aha, search the manual
<https://ccrma.stanford.edu/software/snd/snd/s7.html> for #_<name> and
there's a read syntax for getting the default name.
The #_ read syntax expands to (with-let (unlet) ...). But I presume that
expression is evaluated in an environment that has the default bindings
for `with-let` and `unlet` so user overrides do not matter. So instead
of typing (with-let (unlet) ...) using standard Scheme syntax, we could
use `#_lambda*` read syntax to get the default `lambda*` without
overriding any other bindings.
Further down the page:
"So, now we have only the variable capture problem ('a' has been
captured in the preceding examples). This is the only thing that the
gigantic "hygienic macro" systems actually deal with: a microscopic
problem that you'd think, from the hype, was up there with malaria and
the national debt."
lol