Won't trycatch different types

The current version will hit the trycatch in objEquiv if you compare, for example, ```false``` to ```[]```

This should significantly improve the performance of checks between values of different types.

Tests pass, however I'm not totally confident that there are enough tests to catch potential edge cases.