Plays a move, mutating the position, and returns what unmakeMove needs to take it
back. Special moves are read off the position rather than flagged on the move: a pawn
onto the en passant square captures the pawn behind it, a king stepping two squares
swings its rook, a pawn stride of sixteen leaves a square behind it.
Plays a move, mutating the position, and returns what
unmakeMoveneeds to take it back. Special moves are read off the position rather than flagged on the move: a pawn onto the en passant square captures the pawn behind it, a king stepping two squares swings its rook, a pawn stride of sixteen leaves a square behind it.