docs: def valid_choice(strvalue: str, choices: Iterable[Tuple[str, str]]) -> bool:
      """
      Checks that value is one of the valid option in choices, where choices
      is a list/tuple of 2-tuples (option, description).
  
      Note that parameters sent by URLconf are always strings
      (https://docs.djangoproject.com/en/1.8/topics/http/urls/)
      but Python is happy with a string-to-integer-PK lookup, e.g.
  
      .. code-block:: python
  
          Study.objects.get(pk=1)
          Study.objects.get(pk="1")  # also works
  
      Choices can be non-string, though, so we compare against a string version
      of the choice.
      """
      return strvalue in [str(x[0]) for x in choices]