code: def board(self, *, _cache: bool = True) -> chess.Board:
          
          if self.board_cached is not None:
              board = self.board_cached()
              if board is not None:
                  return board.copy()
  
          board = self.parent.board(_cache=False)
          board.push(self.move)
  
          if _cache:
              self.board_cached = weakref.ref(board)
              return board.copy()
          else:
              return board
docs: Gets a board with the position of the node.
  
          It's a copy, so modifying the board will not alter the game.