Concatenating strings: template literal vs. concatenating parameters:
b.inlines(`<${tag}${attributes?.toHtml() ?? ''}>`);
b.inlines('<', tag, attributes?.toHtml() ?? '', '>');
Both are verbose. I think I slightly prefer the latter version because the additional space between the pieces helps with reading. It reminds me of the /x flag for regular expressions (see first example): https://xregexp.com/#:~:text=XRegExp%20lets%20you%20write%20regexes%20like%20this