Among the 4 Lisp’s equality operators equalp may be the least used, but it has some really cool features:
- it matches strings ignoring case (this is well-known, I suppose)
- it also matches structs
- it also matches vectors and arrays
- and it matches hash-tables
The last 3 are really useful, because unlike strings and other primitive types, there’s no specialized equality predicates for built-in structural types, so equalp fills this role.
(contributed by @vseloved)