Not sure how I feel about this PR in general (this is the original logic I implemented and we did decide to change it from Is to Where, but it's worth reconsidered before we release), but this should not be a Match.Error.  Match.Error means "match failed", not "pattern is erroneous".  (And specifically, it's treated as "try next branch" rather than "propagate" by Match.OneOf.)