Коллеги, если строго следовать Сообщению о языке, получается, что CAP(x) не определена, когда x - не Latin-1 letter. Т.е. CAP("!") язык не определяет. Любопытно, что сейчас, например, CAP("!") = 01X, CAP("@") = "@".
Если она действительно не определена, то не уместен ли авост вместо неопределенных значений?
Или, возможно, следует уточнить ее определение в Сообщении о языке?

Вот как она сейчас определяется:

Name: CAP(x)
Argument type: character type
Result type: type of x
Function: x is a Latin-1 letter: corresponding capital letter