The purpose of my post was to demonstrate that it was easy enough to split the matching into two. I am normally a fan of terse code, especially if the usage of an operator is unambiguous, but because of the danger of the unwary reader confusing it with the .. range operator, this requires significant explanation which would not be germane to the simple point I was making. I don't rule it out though and will bear it in mind for such time as I can think of a way to present it easily enough to potentially beginner OPs.