The reason for that is Context has a method `freshName`. For code generation I had to provide something to provide this mechanism, for sure by not extending Macro Context. That's the only way I found to do it.