I think I have fixed the remaining compiler bug mentioned by RG so that (LET ((FOO FOO)) ..) will correctly barf FOO special and more complicated such cases will say that you will lose. I have an idea for making them all win by deferring decisions on specialness till the end of pass 1, if anyone thinks it's worth it.