Hash collisions in Effect library

Hey, we switched from using a Record<IsoDateString, T> to using HashMap<{year: number, month: number, day: number}, T> yesterday and immediately encountered a hash collision that caused some very surprising bugs:

> Hash.structure({year: 2025, month: 5, day: 7}) === Hash.structure({year: 2025, month: 6, day: 4})
true


Are hash collisions in Effect so common? Does this mean we shouldn't be using HashMap and HashSet? Or did we actually win a big prize?
Was this page helpful?