docs: def multiple_choice(question, choices, answers):
      """
      Generates a multiple choice question that allows the user to select an
      answer choice and shows whether choice was correct.
  
      Args:
          question (str): Question text displayed above choices.
  
          choices (list str): Answer choices that user can select.
  
          answers (int | iterable int): Either an integer or iterable of
              integers. Each integer in answers corresponds to the index of the
              correct choice in `choices`.
  
      Returns:
          None
  
      >>> multiple_choice(question="What is 10 + 2 * 5?",
      ...                 choices=['12', '60', '20'],
      ...                 answers=2) #doctest: +SKIP
      <What is 10 + 2 * 5?>
      <Button> <12>
      <Button> <60>
      <Button> <20>   (Correct)
      >>> multiple_choice(question="Select all prime numbers.",
      ...                 choices=['12', '3', '31'],
      ...                 answers=[1, 2]) #doctest: +SKIP
      <Select all prime numbers.>
      <Button> <12>
      <Button> <3>    (Correct)
      <Button> <31>   (Correct)
      """
      if not isinstance(answers, (int, collections.Iterable)):
          raise TypeError(
              'The `answers` arg is expected to be of type '
              '(int | iterable int) but got {} instead.'.format(type(answers))
          )
  
      @curry
      def check_answer(index, button):
          is_correct = (
              index == answers if isinstance(answers, int) else index in answers
          )
          button.style.button_color = GREEN if is_correct else RED
  
      answer_choices = []
      for index, choice in enumerate(choices):
          button = widgets.Button(
              layout=widgets.Layout(width='20px', height='20px', padding='0')
          )
          button.on_click(check_answer(index))
  
          button_and_question = widgets.HBox(
              [button, widgets.HTML(TEXT_STYLE.format(choice))],
              layout=widgets.Layout(align_items='center')
          )
  
          answer_choices.append(button_and_question)
  
      question_html = [widgets.HTML(TEXT_STYLE.format(question))]
      display(widgets.VBox(question_html + answer_choices))