docs: def module_can_run_parallel(test_module: unittest.TestSuite) -> bool:
          """
          Checks if a given module of tests can be run in parallel or not
  
          :param test_module: the module to run
          :return: True if the module can be run on parallel, False otherwise
          """
          for test_class in test_module:
              # if the test is already failed, we just don't filter it
              # and let the test runner deal with it later.
              if hasattr(unittest.loader, '_FailedTest'):  # import failure in python 3.4.5+
                  # noinspection PyProtectedMember
                  if isinstance(test_class, unittest.loader._FailedTest):
                      continue
  
              if not isinstance(test_class, collections.Iterable):  # likely an import failure in python 3.4.4-
                  # before python 3.4.5, test import failures were not serializable.
                  # We are unable to be sure that this is a module import failure, but it very likely is
                  # if this is the case, we'll just run this locally and see
                  raise TestClassNotIterable()
  
              for test_case in test_class:
                  return not getattr(sys.modules[test_case.__module__], "__no_parallel__", False)