Recurse on catalog entries (part 3)

Removing KElements global. Now each token stream has its own.

All tests still pass.