It would be more interesting if the code was tied with parenscript instead of generating the raw HTML directly. That way you could generate the Javascript needed to manipulate the real DOM. Otherwise, this isn't a virtual DOM, it's only a minimal template engine.
We'll see when I get to the change-tracking part, last time I checked out parenscript it still didn't rub off on me. I would strongly recommend generating straight HTML for the initial layout though, I have really bad experiences from debugging completely dynamic pages in the browser. Additionally, one of the aims of this library is to generate any kind of HML in a reasonably effective way, whether static or dynamic.
Still, a virtual DOM is exactly what it is; a template engine would just dump the strings without offering support for modifying the document.