Add missing errors for pattern matches that should never happen
Tweak eval to avoid binding unused variables