I tried to analyze the implementation of Alex Shinn's code, but I didn't manage to figure out how he recognizes that a pattern variable is an identifier.
It uses Oleg's trick. See match-check-identifier.
I saw it. I just didn't get it ;)
OK, I get it now. The macro expands to a local macro definition (sym?). So if it is a literal (like a number or a boolean or a string), then the "successful" pattern will contain that literal, and the attempt to match it with "abracadabra" will fail.
"One weird trick".