Better weight and purity parsers