I have a question regarding the macro or metaprogramming system: I have seen that it seems to at least have not been possible some years ago but it might have changed so the question is..  Is it possible to get all types at compile-time in order to generate code based on them  Is it possible to mark specific types and get them at compile-time to generate code based on them  Is it possible to get all types of a subset of the program e.g. module or other representations to again generate code based on them The general idea behind this would be for example generating a packet handler mediator or in a more simplistic manner a switch case based on an op code.