The default equality algorithm looks something like this:
export const defaultEquality = {
hashCode: _ => 0,
isEqual: (x, y) => x == y,
};
This is inefficient for hash-sets, because it puts every value into the same bucket. We should figure out a better hash-code implementation.