Parse test: Refine precedence tests for simple expressions.
Parse test: Refine precedence tests for signs, not and delete.
Parse test: Refine precedence tests for pow.
Parse test: Refine precedence tests for multiplicative operators.
Parse test: Refine associativity tests for additive operators.
Parse test: Refine precedence tests for additive operators.
Parse test: Move associativity test for pow.
Parse test: Refine precedence tests for comparison operators.
Parse test: Refine precedence tests for &&.
Parse test: Refine precedence tests for ||.
Parse test: Refine precedence tests for :=.
Parse test: Refine associativity tests for multiplicative operators.
Parse test: Split associativity tests for boolean operators.
Parse test: Move associativity tests for semicolon.
Parse test: Move associativity tests for if-then-else.
Parse test: Refine precedence tests for if-then-else.
Parse test: Refine precedence tests for semicolon.
Parse test: Refine precedence tests for let-in.
Parse test: Add helper method for asserting parsing failure.
Parse test: Use _assert_parse_fails instead of testing for None.

Once recovery from syntax errors is in place, the parser may no longer
return None when fed a badly-formed program. However, the parser's logger will
always signal the parsing failure correctly.