GetHashCode has to be case invariant, otherwise it would conflict with Equals.