Print an error message and ``cause a hard error''
See er for relevant background, which is assumed below, and
(er-hard context summary str &rest str-args)
where context is a legal context (see ctx), summary is nil
or a string, str is a string, and str-args are tsee fmt
arguments for str. Note that (er-hard context summary str ...) is
equivalent to (er hard context (cons summary str) ...). The use of a
non-nil summary allows suppression of this error message without
suppressing all error output; see set-inhibit-er.
Calls of er-hard expand much like calls (er hard ...), in the
sense that both expand to calls of the function, illegal, which has a
guard equivalent to nil. See er-hard? for a similar
utility that avoids generating guard obligations.
See er-soft for a similar utility pertaining to ``soft''