test: parsing tests should output expected types in failure message
parse: migrate all but two problematic rules to the stateless grammar
parse: migrate one of the two remaining non-stateless parsing methods
parse: avoid rewriting improper lists multiple times
parse: migrate last remaining non-stateless grammar rule to new grammar