refactor: leave only hashcode parts
hashObjects, hash2, hash3, and hash4 generate high-quality hashCodes for a list of objects, or 2, 3, or 4 arguments respectively.
hashObjects
hash2
hash3
hash4