There
is also a big issue with the way Guile determines if a bytecode
file is up-to-date. I could be wrong, but as far as I can see,
it takes any bytecode that has a newer date than the source, which
means that if we produce bytecode via GUILE_AUTO_COMPILE in the
user's environment, and the user tries to downgrade LilyPond to an
older version while keeping the install in the same location, it
will break mysteriously because the cached .go file will still have
a newer timestamp than the corresponding .scm file, and thus won't be
recompiled.