> thinking about it a bit, i can just do away with one and live with the
> other? say, can i just live with (bind)?
yes, but it is more convenient to write let in your programs instead of
the bind with constructing the binding list manually. However, in
certain situations, one needs an evaluating version, e.g. when you
construct code programmatically. I hit this situation in the wl
interpreter (the one written in Java) where I wanted to implement as
much as possible in pure picolisp (as opposed to Java). There I needed
evaluating versions of some functions. I don't remember off the top of
my head which cases were those functions but I usually named them with a
leading dot character to make it obvious they were internal. When you
have the evaluating version it becomes easy to implement the macro
version on top of them.