Kaufmann patches std::define such that it now provides a :redundant output when a define is redundnat.  Kaufmann writes:

Upon success we now see the name being returned, where before it
looked like nothing was returned, though in fact (value :invisible)
was returned -- as you can see if you first evaluate
(set-ld-error-triples nil state) before the define form.  But anyhow,
that's a minor point, easily changed.  The more interesting mod is
that if the world wasn't modified, then (value :redundant) is
returned.

One thing you or Jared might notice is that in my implementation,
I check equality of two worlds with EQUAL.  I tried EQ but got a
guard violation that I think is unavoidable.  But I think EQUAL will
be fast -- either the recursive equality test will fail very quickly, or
the worlds will actually be EQ and hence EQUAL will return t very
quickly.  Initially I compared their lengths, but I think computing
lengths might often be more expensive and almost never cheaper.

Fixes #220