public override int GetHashCode() { return new { OriginalPosition, NewPosition, Player, Promotion }.GetHashCode(); }