swap(...) + self.white = bug + IsCheckMate(...) bug