=====================================================
recovers from errors at the top level
=====================================================
x * * y
---
(ERROR)

=====================================================
recovers from errors inside parenthesized expressions
=====================================================
x + (y * + z) * 5
---
(expression (sum
    (variable)
    (product (group (ERROR)) (number))))