Rather than using concat ever, retain a sequence of work sequences (logically an in-order push back work list), and the sequence being walked. This serves to optimize out intermediary and possibly deeply nested concat sequences in favor of a single list which pushes (cons) and pops (rest) efficiently.