A postfix-walk + make-node to compact is MUCH simpler, and only requires one pass.
Currently broken (we attempt to fully enumerate an infinite seq somewhere), we attempt to generate all words in a Kleene star parser by unfolding a parser: expandAsStar a gives Eps, a, aa, aaa, ...