This is existing code from #241.  I simply moved it into the new `matchers` directory since I was adding the `receive` matcher.

You're right that there may be a way to optimize this, but on the surface your code snippet isn't obviously faster to me.  (Plus it returns an array, not a single constraint).  If you want to take a stab at benchmarking it and changing it in another PR, have at it.  With the array only having 5 elements, I'm not terribly concerned.