Refactor the MatchResult type in the desugarer so that it does a better job of proving whether or not the fail operator is used. (cherry picked from commit 2e6155e1) (cherry picked from commit 51eb739f)