docs: def best_match(desired_language: {str, Language}, supported_languages: list,
                 min_score: int=75) -> (str, int):
      """
      You have software that supports any of the `supported_languages`. You want
      to use `desired_language`. This function lets you choose the right language,
      even if there isn't an exact match.
  
      Returns:
  
      - The best-matching language code, which will be one of the
        `supported_languages` or 'und'
      - The score of the match, from 0 to 100
  
      `min_score` sets the minimum match score. If all languages match with a lower
      score than that, the result will be 'und' with a score of 0.
  
      When there is a tie for the best matching language, the first one in the
      tie will be used.
  
      Setting `min_score` lower will enable more things to match, at the cost
      of possibly mis-handling data or upsetting users. Read the documentation
      for :func:`tag_match_score` to understand what the numbers mean.
  
      >>> best_match('fr', ['de', 'en', 'fr'])
      ('fr', 100)
      >>> best_match('sh', ['hr', 'bs', 'sr-Latn', 'sr-Cyrl'])
      ('sr-Latn', 100)
      >>> best_match('zh-CN', ['zh-Hant', 'zh-Hans', 'gan', 'nan'])
      ('zh-Hans', 100)
      >>> best_match('zh-CN', ['cmn-Hant', 'cmn-Hans', 'gan', 'nan'])
      ('cmn-Hans', 100)
      >>> best_match('pt', ['pt-BR', 'pt-PT'])
      ('pt-BR', 100)
      >>> best_match('en-AU', ['en-GB', 'en-US'])
      ('en-GB', 96)
      >>> best_match('es-MX', ['es-ES', 'es-419', 'en-US'])
      ('es-419', 96)
      >>> best_match('es-MX', ['es-PU', 'es-AR', 'es-PY'])
      ('es-PU', 95)
      >>> best_match('es-MX', ['es-AR', 'es-PU', 'es-PY'])
      ('es-AR', 95)
      >>> best_match('zsm', ['id', 'mhp'])
      ('id', 86)
      >>> best_match('eu', ['el', 'en', 'es'])
      ('es', 90)
      >>> best_match('eu', ['el', 'en', 'es'], min_score=92)
      ('und', 0)
      """
      # Quickly return if the desired language is directly supported
      if desired_language in supported_languages:
          return desired_language, 100
  
      # Reduce the desired language to a standard form that could also match
      desired_language = standardize_tag(desired_language)
      if desired_language in supported_languages:
          return desired_language, 100
  
      match_scores = [
          (supported, tag_match_score(desired_language, supported))
          for supported in supported_languages
      ]
      match_scores = [
          (supported, score) for (supported, score) in match_scores
          if score >= min_score
      ] + [('und', 0)]
  
      match_scores.sort(key=lambda item: -item[1])
      return match_scores[0]