I'm noticing that you are specing the matcher by directly calling the matcher protocol methods.  That works, but I generally favor simply using the matcher in an expression.  What you have works though, so I don't consider this a merge blocker.