Creates a child node with the given attributes and promotes it to the
        main variation.

def add_main_variation(self, move: chess.Move, *, comment: str = "") -> "GameNode":
        """
        Creates a child node with the given attributes and promotes it to the
        main variation.
        """
        node = self.add_variation(move, comment=comment)
        self.variations.remove(node)
        self.variations.insert(0, node)
        return node