code: def assert_is_iterable_of(iterable_var, classes):
      """Assert that `iterable_var` only contains instances of given classes.
  
      Parameters
      ----------
      iterable_var : iterable
          See :func:`~imgaug.validation.is_iterable_of`.
  
      classes : type or iterable of type
          See :func:`~imgaug.validation.is_iterable_of`.
  
      """
      valid = is_iterable_of(iterable_var, classes)
      if not valid:
          expected_types_str = (
              ", ".join([class_.__name__ for class_ in classes])
              if not isinstance(classes, type)
              else classes.__name__
          )
          if not ia.is_iterable(iterable_var):
              raise AssertionError(
                  "Expected an iterable of the following types: %s. "
                  "Got instead a single instance of: %s."
                  % (expected_types_str, type(iterable_var).__name__)
              )
  
          raise AssertionError(
              "Expected an iterable of the following types: %s. "
              "Got an iterable of types: %s."
              % (
                  expected_types_str,
                  convert_iterable_to_string_of_types(iterable_var),
              )
          )
  
imports: from __future__ import print_function, division, absolute_import
  import imgaug
label_desc: Use image node_id 3 for calling a global function with example usage: assert_is_iterable_of(iterable_var, classes) without return types