INFINITE-ERROR-PROTECTOR never returns normally
In which case, having it used as
(unless (infinite-error-protector)
...)
only serves to confuse the compiler, making it insert extra
%COMPILE-TIME-TYPE-ERRORs to check that ERROR itself never
returns. These had no particular effect, other than to show up
when I started investigating string context forms in cross-compiled
fasls.
Eliminating all %COMPILE-TIME-TYPE-ERRORs in the cross-compiler
would make a worthy project, complicated a little by the existence
of (ARRAY NIL) objects :-/