/// <inheritdoc /> public override int GetHashCode() { unchecked { var hashCode = (Tape != null ? Tape.GetHashCode() : 0); hashCode = (hashCode * 397) ^ HeadIndex; hashCode = (hashCode * 397) ^ (State != null ? State.GetHashCode() : 0); hashCode = (hashCode * 397) ^ HasHalted.GetHashCode(); return(hashCode); } }