code: def list_of(validate_item):
      
      def validate(value, should_raise=True):
          validate_type = is_type(list)
          if not validate_type(value, should_raise=should_raise):
              return False
  
          for item in value:
              try:
                  validate_item(item)
              except TypeError as e:
                  if should_raise:
                      samtranslator.model.exceptions.prepend(e, "list contained an invalid item")
                      raise
                  return False
          return True
      return validate
docs: Returns a validator function that succeeds only if the input is a list, and each item in the list passes as input
      to the provided validator validate_item.
  
      :param callable validate_item: the validator function for items in the list
      :returns: a function which returns True its input is an list of valid items, and raises TypeError otherwise
      :rtype: callable