Issue #149, #142, #160 - Much, much better support for matching. Lots of more tests.