docs: def pick_move(self):
          """Picks a move to play, based on MCTS readout statistics.
  
          Highest N is most robust indicator. In the early stage of the game, pick
          a move weighted by visit count; later on, pick the absolute max."""
          if self.root.position.n >= self.temp_threshold:
              fcoord = self.root.best_child()
          else:
              cdf = self.root.children_as_pi(squash=True).cumsum()
              cdf /= cdf[-2]  # Prevents passing via softpick.
              selection = random.random()
              fcoord = cdf.searchsorted(selection)
              assert self.root.child_N[fcoord] != 0
          return coords.from_flat(fcoord)