This is lovely, but I think falls down the moment you want any generated content (table of contents being a typical first example).