docs: def complete(self):
          """is the game over?"""
          if None not in [v for v in self.squares]:
              return True
          if self.winner() is not None:
              return True
          return False