Add exhausted? predicate and factor out queue into function. Useful for
binding a queue in a let form.
Implement apply-queue function.
Example namespace.