CodeGen - simple, succint and customizable code generation for your libraries

It turns out that in order to deal with compile-time dependencies properly, __gen_code__(options) must be a macro and not a function.