Doing it in meta sounds good to me. Yep I mainly needed to mess with the grammar but I also wanted to show it can be done with code generation without increasing the complexity beyond linear. It is meant to be quick and dirty to enable people to play with it