public override int GetHashCode()
{
// note that in C#, shift never causes overflow
int sum = 0;
for (int i = 0; i < _includes.Length; i++)
{
sum += _includes[i] << i;
}
return sum;
}