code: def end(self) -> "GameNode":
          
          node = self
  
          while node.variations:
              node = node.variations[0]
  
          return node
docs: Follows the main variation to the end and returns the last node.