We might lose the error-bit if the error-bit goes through the code path
"error type/expr" -> "error template argument" -> "nested name specifier" ->
... -> "template Specialization type"
Template name also needs this, as a template can be nested into
an error specifier, e.g. templateName apply in
TC<decltype(<recovery-expr>(Foo, int()))>::template apply
FWIW I don't think this macro is worth the complexity, maybe we should expand it out at some point.