Consume until the end of the current stack at most
Iterator is more suitable than iterable
Add missing docstrings