When I read through your example, Class::Accessor immediately came to mind, so I'm not sure what benefit a source filtering approach brings to this problem. There doesn't seem to be much documentation for Module::Compile::TT, so how else can be used e.g. can you use it to simulate macros?