oh yeah, personally i agree that integrating Faust-generated code is a little easier.
for one thing, there are the many existing build scripts like faust2teensy. these are authored by many different contributors. sometimes i find that they work out of the box, sometimes they require enough fiddling and toolchain setup that it doesn’t seem worth the trouble. TBH i never really use them because it’s simple to roll your own template and tell faust to use it during compilation.
but even if you don’t use one of the build scripts, faust-generated code itself has very minimal dependencies, and control signals are easily plumbed in (they are just pointers to floats in the DSP module.) so yeah, i agree.
to me, the main purpose of gen~ is to conveniently add arbitrary single-sample process loops to max patches. and i haven’t exactly seen a lot of super weird or complex gen patches that couldn’t be easily created in faust or supercollider or with your favorite C audio library.
there’s a pereception (reality?) that dataflow paradigms are easier to work with than functional or imperative code. to me, the math is just as hard either way. but hey, people keep asking about it. 
i’m curious for someone to try gen -> teensy (it shouldn’t be a big deal honestly, steps for integrating faust code without a build script are pretty similar.) i’m not really in a hurry to try it myself…