Okay, this didn't work out. Let's try again. 

Are examples out there that show how naive reasoning about languages
(not individual programs) is a major problem? 

  The canonical example is to combine polymorphic let without
  restrictions with naive generalizations for references, exceptions,
  continuations, and channels.

For what else have we needed *any* form of semantics to dispute naive

I for one would find it really neat if we had such a list of examples
on-line for use in courses at all levels and program officers at
funding agencies, too.

Any other examples than the one above? One is a random hit, two is 
a coincidence, three makes a pattern. -- Matthias