Get rid of an asInstanceOf

Also make compilation fail if there's a problem, instead of suppressing
it. If there's a bug in the macro, or incorrect usage causing it to bork,
we'd like to know about it at compile time.
Look for symbols in a more gentlemanly fashion
Merge pull request #1 from cb372/better-errors

Better errors. Thanks !