basic lossy parse works

does not save templates for most nodes, so the original text cannot be recreated from the AST