undefined-settableThe R5RS says that it is an error to set! a variable that
has not been defined, but also explicitly suggests that some
implementations may wish to have all possible variables implicitly defined
in the toplevel environment, so that, in effect, set! will
amount to define for variables that have not yet been
explicitly defined.