> ideally we should avoid _has_matcher where possible    That's why I sift out the args that don't need a matcher. I don't see a similar guard in the suggestion that you made. And I think that `pattern_instance` will be empty since `Basic._has_matcher` is defined and defaults to an equality tests.  