docs: def group(self):
          """Yield a group from the iterable"""
          yield self.current
          # start enumerate at 1 because we already yielded the last saved item
          for num, item in enumerate(self.iterator, 1):
              self.current = item
              if num == self.limit:
                  break
              yield item
          else:
              self.on_going = False