Add more tests

You _need_ to output `haystack` (otherwise figuring out what's wrong is a tremendous pain and/or requires lots of `print` statements), and I think outputting proper-English error messages is just more... professional :P