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