Refactor to dodge some annoying cons stuff.  Parse returns a root token instead of a root tree now.