code: def get_element_types(obj, **kwargs):
      
  
      max_iterable_length = kwargs.get('max_iterable_length', 10000)
      consume_generator = kwargs.get('consume_generator', False)
  
      if not isiterable(obj):
          return None
  
      if isgenerator(obj) and not consume_generator:
          return None
  
      t = get_types(obj, **kwargs)
  
      if not t['too_big']:
          if t['types']:
              return "Element types: {}".format(', '.join([extract_type(t) for t in t['types']]))
          else:
              return None
      else:
          return "Element types: {}".format(', '.join([extract_type(t) for t in t['types']])) + " (based on first {} elements.)".format(max_iterable_length)
docs: Get element types as a set.