I'm slightly nervous about the use of `.*` rather than the real parsers for each of the vars we expect.