docs: def _map_over_linters(self,
                            py_files,
                            non_test_files,
                            md_files,
                            stamp_directory,
                            mapper):
          """Run mapper over passed in files, returning a list of results."""
          dispatch = [
              ("flake8", lambda: mapper(_run_flake8,
                                        py_files,
                                        stamp_directory,
                                        self.show_lint_files)),
              ("pyroma", lambda: [_stamped_deps(stamp_directory,
                                                _run_pyroma,
                                                "setup.py",
                                                self.show_lint_files)]),
              ("mdl", lambda: [_run_markdownlint(md_files,
                                                 self.show_lint_files)]),
              ("polysquare-generic-file-linter", lambda: [
                  _run_polysquare_style_linter(py_files,
                                               self.cache_directory,
                                               self.show_lint_files)
              ]),
              ("spellcheck-linter", lambda: [
                  _run_spellcheck_linter(md_files,
                                         self.cache_directory,
                                         self.show_lint_files)
              ])
          ]
  
          # Prospector checks get handled on a case sub-linter by sub-linter
          # basis internally, so always run the mapper over prospector.
          #
          # vulture should be added again once issue 180 is fixed.
          prospector = (mapper(_run_prospector,
                               py_files,
                               stamp_directory,
                               self.disable_linters,
                               self.show_lint_files) +
                        [_stamped_deps(stamp_directory,
                                       _run_prospector_on,
                                       non_test_files,
                                       ["dodgy"],
                                       self.disable_linters,
                                       self.show_lint_files)])
  
          for ret in prospector:
              yield ret
  
          for linter, action in dispatch:
              if linter not in self.disable_linters:
                  try:
                      for ret in action():
                          yield ret
                  except Exception as error:
                      traceback.print_exc()
                      sys.stderr.write("""Encountered error '{}' whilst """
                                       """running {}""".format(str(error),
                                                               linter))
                      raise error