<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def grouper(iterable: Iterable, size: int) -> Iterable: """ Collect data into fixed-length chunks or blocks without discarding underfilled chunks or padding them. :param iterable: A sequence of inputs. :param size: Chunk size. :return: Sequence of chunks. """

    it = iter(iterable)
    while True:
        chunk = list(itertools.islice(it, size))
        if not chunk:
            return
        yield chunk