Improves equality matcher.

- Catches type mismatch early and reports specific error message
- Also improves error messages for comparing lists and dicts.

Fixes #9