/// The StateInfo struct stores information we need to restore a Position
/// object to its previous state when we retract a move. Whenever a move
/// The StateInfo struct stores information we need to restore a Position
/// object to its previous state when we retract a move. Whenever a move