code: def setup(self, board: Union[chess.Board, str]) -> None:
          
          try:
              fen = board.fen()
          except AttributeError:
              board = chess.Board(board)
              board.chess960 = board.has_chess960_castling_rights()
              fen = board.fen()
  
          if fen == type(board).starting_fen:
              self.headers.pop("SetUp", None)
              self.headers.pop("FEN", None)
          else:
              self.headers["SetUp"] = "1"
              self.headers["FEN"] = fen
  
          if type(board).aliases[0] == "Standard" and board.chess960:
              self.headers["Variant"] = "Chess960"
          elif type(board).aliases[0] != "Standard":
              self.headers["Variant"] = type(board).aliases[0]
              self.headers["FEN"] = board.fen()
          else:
              self.headers.pop("Variant", None)
docs: Sets up a specific starting position. This sets (or resets) the
          ``FEN``, ``SetUp``, and ``Variant`` header tags.