adding comments and renaming some things in comparison tests
changing some argument exceptions to TypeError instead of ArgumentError -- it's more right
updating tests for TypeError instead of ArgumentError