I wonder if it'd be faster to define a function in `compiler`:

    compiler.maybeGenerate = compiler.generate ? (function(atom) { compiler.jsBuffer.concat(atom) }) : (function() {})

And then replace all `if (!generate) compiler.jsBuffer.concat(x)` calls with `compiler.maybeGenerate(x)`.

We'd end up generating a lot of atoms and just throwing them away in the NOP case. But in the yes (generate) case it'd be faster as we'd save a bunch of if statements and one variable lookup.