I know of a place that still uses PL/B, and apparently the language is a hellscape where keywords like "for" or "to" can be redefined on the fly. It sometimes takes a debugger and a copy of the spec to find out what actually happened in a program when it goes south.