'Match if ``matchee`` matches the wrapped matcher.
If it does not match, apply the given function to the mismatch, first
ensuring that the mismatch has ``mismatched`` set.'

def match(self, matchee):

    mismatch = self._matcher.match(matchee)
    if (mismatch is None):
        return
    return self._function(_adapt_mismatch(mismatch, matchee))
