i would do `if (limit.remaining) return yield next;` here to avoid the `else` statement