BTW, I'm sure that current behavior of `load' is wrong. It always
tries to load .elc file first, even if it's older than .el. But often
it causes too much trouble after updating .el files. There are many
reasons why this happens: user forgets to recompile updated .el files,
something goes wrong in the make process, etc. Yes, `load' reports
a warning, but usually this warning goes unnoticed, which results in
broken functionality. Instead, `load' should load the newest of .el
or .elc files, and report the same warning as a simple reminder to
recompile updated .el files to execute them faster.