I would now contend that, strictly speaking, __str__ is not part of the matchers protocol. It's just something a lot of higher-order matchers tend to use to print other matchers.
I would support a change that updated these matchers to use __repr__, and updated our built-in matchers to have high-quality repr implementations. I'd do it now, but I've got too many open PRs against testtools.
I would now contend that, strictly speaking, __str__ is not part of the matchers protocol. It's just something a lot of higher-order matchers tend to use to print other matchers.
I would support a change that updated these matchers to use __repr__, and updated our built-in matchers to have high-quality repr implementations. I'd do it now, but I've got too many open PRs against testtools.