Use better matching.
Fix the basic tests.
Make more tests pass!