By the way, this is an example of something that's usually easier with a
compiler than with an interpreter.
I once changed Scheme-48 to accept '() as false, and it was a one-line
change to the code generation routine for IF. Since all conditionals
are implemented in terms of IF by transformation, that did the trick.
With a hand-tweaked interpreter this is likely to be harder, because
ifs are likely to be implicit in other code, which has to be identified
and changed.
Although it might likely be harder, in practice it wasn't. SCM has
had the SICP flag to control (eq? '() '#f) since 1993.