code: def fetch_arc_errors(self):
          '''
          Evaluates the current tree of the arc and provides a list of errors that
          the user should correct.
          '''
          error_list = []
          hnode = self.validate_first_element()
          if hnode:
              error_list.append({'hook_error': hnode})
          rnode = self.validate_last_element()
          if rnode:
              error_list.append({'reso_error': rnode})
          try:
              self.validate_generations()
          except ArcGenerationError as ag:
              error_list.append({'generation_error': str(ag)})
          milecheck = self.validate_milestones()
          if milecheck:
              error_list.append({'mseq_error': milecheck})
          return error_lisf fetch_arc_errors(self):
          '''
          Evaluates the current tree of the arc and provides a list of errors that
          the user should correct.
          '''
          error_list = []
          hnode = self.validate_first_element()
          if hnode:
              error_list.append({'hook_error': hnode})
          rnode = self.validate_last_element()
          if rnode:
              error_list.append({'reso_error': rnode})
          try:
              self.validate_generations()
          except ArcGenerationError as ag:
              error_list.append({'generation_error': str(ag)})
          milecheck = self.validate_milestones()
          if milecheck:
              error_list.append({'mseq_error': milecheck})
          return error_list
docs: Evaluates the current tree of the arc and provides a list of errors that
          the user should correct.