In a markup template, if you write something like:
the user will assume that the output is:
However, the markup builder is a streaming builder, so calling a method in a GString results in a direct rendering to the output. At best, it will trigger a NPE, or a stack overflow.
I suggest to add the following notation to allow that kind of code:
The inner tag is preceded with a dollar($) sign, which tells the markup engine that the call should be rendered as a string. It would be a shortcut notation for: