This

    return ;
always makes my eyes bleed.
It's not much of a difference, but take a look at the htm package.

It uses template strings instead of requiring a parser, turning your example into something more like:

    return htm``;

https://github.com/developit/htm