I think mentioning it in the docs would be good (actually -- we need to update the places that mention the matcher protocol to mention it, too).

That said, we recommend that users don't subclass `BaseMatcher`.  It's meant to be internal.