Microsoft messed up the 64 bit version of GetHashCode. This is a platform independent port of the 32 bit version of Object.GetHashCode