Use unary not ('!') as the literal specifier
DRYed magic code. Added magic specs for more complete case coverage.
Added 'Hash[]' syntax for binding hash values to implicit identifiers (the keys)
Added test
Warn about local/method conflicts
Added case/when lambda matcher