That said, I don’t like the extra layer of indirection in lit-html where you have to first create a template and then render it. That’s necessary if you care about maximizing performance, but I’d like to be able to just render the real DOM directly (as html in our standard library does).
We’re also considering ways that Observable could render virtual DOM automatically: if a cell returns virtual DOM, then Observable would diff it with the real DOM to update it. That would potentially be more efficient than requiring cells to produce real DOM, although, browsers do appear to be pretty fast at generating real DOM these days.