Remove runtime failure from pattern matching

It's an artifact of the old refutable version of `match` and is no longer necessary.
Yes, where irrefutable refers to a specific branch of the decision tree. Unless guards or slice patterns are involved, only one branch in the tree has to be explored. And not matching is impossible because of the exhaustiveness guarantee. It is possible when guards or var-length slice patterns are involved, however, in which case it will jump to the next appropriate branch.