docs: def _support_enumeration_gen(payoff_matrices):
      """
      Main body of `support_enumeration_gen`.
  
      Parameters
      ----------
      payoff_matrices : tuple(ndarray(float, ndim=2))
          Tuple of payoff matrices, of shapes (m, n) and (n, m),
          respectively.
  
      Yields
      ------
      out : tuple(ndarray(float, ndim=1))
          Tuple of Nash equilibrium mixed actions, of lengths m and n,
          respectively.
  
      """
      nums_actions = payoff_matrices[0].shape
      n_min = min(nums_actions)
  
      for k in range(1, n_min+1):
          supps = (np.arange(0, k, 1, np.int_), np.empty(k, np.int_))
          actions = (np.empty(k+1), np.empty(k+1))
          A = np.empty((k+1, k+1))
  
          while supps[0][-1] < nums_actions[0]:
              supps[1][:] = np.arange(k)
              while supps[1][-1] < nums_actions[1]:
                  if _indiff_mixed_action(
                      payoff_matrices[0], supps[0], supps[1], A, actions[1]
                  ):
                      if _indiff_mixed_action(
                          payoff_matrices[1], supps[1], supps[0], A, actions[0]
                      ):
                          out = (np.zeros(nums_actions[0]),
                                 np.zeros(nums_actions[1]))
                          for p, (supp, action) in enumerate(zip(supps,
                                                                 actions)):
                              out[p][supp] = action[:-1]
                          yield out
                  next_k_array(supps[1])
              next_k_array(supps[0])