Use 0 and 0x55555555 to distinguish constructors of Maybe and Either.
Use 0 and 0x55555555 to distinguish constructors of Maybe and Either.

Previously, 0 and 1 was used. The constant 0x55555555 is in binary
01010101010101010101010101010101.

It is simple to see that 0x55555555 = 0xFFFFFFFF `quot` 3. Therefore,
the constant is computed as (maxBound :: Word) `quot` 3, so it is 64-bit
wide on 64-bit architectures.

ekmett/hashable