Solving laziness temporarily with a doall until I can figure out what's going on
Looks like 'vary-meta' clones the lazy-seq, causing it to eval twice. Moving 'vary-meta' up solves the problem.