A compatibility group identifies Clojure types that `=` can compare under common rules. Compatible values need not have the same concrete type. section 6.1
The comparison rule depends on the group:
- List-like values—lists, vectors, queues, ranges, and lazy sequences—compare contents in order. section 6.1
- Map-like values compare entries without regard to order; set-like values likewise compare members without regard to order. section 6.1
- Integer types, including ratios, form one group; floats and doubles form another. Compatible noncontainers compare by value. section 6.1
Container type versus content
`(= '(1 2) [1 2])` returns `true`: the list and vector belong to the ordered list-like group. Reversing either collection’s contents makes the comparison false. section 6.1
Types outside these groups, such as strings, keywords, big-decimals, and plain Java types, compare only with their own type. Incompatible groups compare unequal. section 6.1
