parse binop-exprs in cases position
link to issue
Check for underscores in the wrong places by looking for unbound _

Replace many individual checks in well-formed.arr with a pair of checks in
check-unbound that notice when an unbound id is an underscore.

This loses a bit of the context that was reported in the well-formedness
messages, but has the benefit of catching underscores in new expressions and
annotations by default.