docs: def _validate_sequence_like(
          self, v: Any, values: Dict[str, Any], loc: 'LocType', cls: Optional['ModelOrDc']
      ) -> 'ValidateReturn':
          """
          Validate sequence-like containers: lists, tuples, sets and generators
          """
  
          if not sequence_like(v):
              e: errors_.PydanticTypeError
              if self.shape is Shape.LIST:
                  e = errors_.ListError()
              elif self.shape is Shape.SET:
                  e = errors_.SetError()
              else:
                  e = errors_.SequenceError()
              return v, ErrorWrapper(e, loc=loc, config=self.model_config)
  
          result = []
          errors: List[ErrorList] = []
          for i, v_ in enumerate(v):
              v_loc = *loc, i
              r, ee = self._validate_singleton(v_, values, v_loc, cls)
              if ee:
                  errors.append(ee)
              else:
                  result.append(r)
  
          if errors:
              return v, errors
  
          converted: Union[List[Any], Set[Any], Tuple[Any, ...], Iterator[Any]] = result
  
          if self.shape is Shape.SET:
              converted = set(result)
          elif self.shape is Shape.SEQUENCE:
              if isinstance(v, tuple):
                  converted = tuple(result)
              elif isinstance(v, set):
                  converted = set(result)
              elif isinstance(v, Generator):
                  converted = iter(result)
          return converted, None