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