https://www.rfleury.com/p/table-driven-code-generation