I think that's a very good idea. Having heard no objection, for the moment I'm going to consider <g> in <f> as a corrigible error, and just fix it. (No deprecation, that is.) If Council doesn't like it, speak up!
I think the simplest and most appropriate solution is to replace macro.xtext by <textNode> 1. This corresponds more closely to the published ISO scheme, which knows nothing of <g> elements 2. There is no reason to suppose that a text string describing a feature value would ever need to use a <g> element -- these are not transcriptions from source texts but created fragments of documentation 3. Even if there were such a reason, the way to do it would be to wrap the proposed string in the <string> element as content of the <f> The possibility of a textnode within <f> was agreed to only as a simplification of this more general approach. We don't need to agonise over making it work for every case. Indeed, in my view, we'd do better to consider removing it again.