code: def _build_iterable_validator(iterable):
      
      sub_schemas = [parse_schema(s) for s in iterable]
  
      def item_validator(value):
          """Validate items in an iterable."""
          for sub in sub_schemas:
              try:
                  return sub(value)
  
              except NotValid:
                  pass
  
          raise NotValid('%r invalidated by anything in %s.' % (value, iterable))
  
      def iterable_validator(data):
          """Validate an iterable."""
          if not type(data) is type(iterable):
              raise NotValid('%r is not of type %s' % (data, type(iterable)))
  
          return type(iterable)(item_validator(value) for value in data)
  
      return iterable_validator
docs: Build a validator from an iterable.