Recognizer for a ``message''
The form (msgp x) evaluates to true when x evaluates
either to a string or to a cons whose car is a string and whose
cdr satisfies character-alistp. Note that msgp will always
hold for the output of the macro msg.
(defun msgp (x)
(declare (xargs :guard t))
(or (stringp x)
(and (consp x)
(stringp (car x))
(character-alistp (cdr x)))))