what you want is a lazily computed sequence/stream...
# coroutines
k
what you want is a lazily computed sequence/stream of the combinations