@dabeaz can you elaborate on why you chose to remove it?
to me, correctly handling operator precedence is the kind of rubber-meets-the-road problem that differentiates a theory-focused approach from a practical one; the sort of problem that without being taught it is very hard to make the jump from knowing the theory into actually using it for non-toy examples.