public override int GetHashCode() { return ((RightBound.GetHashCode() >> 3 << 3) + (LeftBound.GetHashCode() >> 2 << 2) + (IsLeftInclusive ? 2 : 0) + (IsRightInclusive ? 1 : 0)); }