Using pre-processing to fix precedence issues: prototype... WIP