class_docstr: Downstream Teachers should implement:
  
  * get_data_for_fold(self, fold) which yields dicts that contain at least:
      * "steps" (to work with MWPStepsReason)
      * "question" (to work with SimpleQuestionAnswer)
      * "answer" (to work with SimpleQuestionAnswer)
class_docstr_tok: ["Downstream","Teachers","should","implement",":","*","get_data_for_fold","(","self",",","fold",")","which","yields","dicts","that","contain","at","least",":","*","``","steps","''","(","to","work","with","MWPStepsReason",")","*","``","question","''","(","to","work","with","SimpleQuestionAnswer",")","*","``","answer","''","(","to","work","with","SimpleQuestionAnswer",")"]
code: def get_reason_class(self) -> AbstractReason:
      return MWPStepsReason
  
imports: from parlai.core.opt import Opt
  from parlai.core.params import ParlaiParser
  from typing import Optional
  from parlai.tasks.reasoning.base import AbstractReasoningTeacher, AbstractReason, AbstractQuestionAnswer
  from parlai.tasks.reasoning.question_answer import SimpleQuestionAnswer, PremiseHypothesisQuestionAnswer
  from parlai.tasks.reasoning.reason_types.step_by_step import StepByStepReason, MWPStepsReason
  from parlai.tasks.reasoning.reason_types.free_form import FreeFormReason
label_desc: Use image node_id 1 for calling the MWPStepsReasoningTeacher obj's underlying member method code with example usage: obj.get_reason_class() and returns: MWPStepsReason